簡體   English   中英

如何克服freemarker treeset按字母順序排序int鍵?

[英]How to overcome freemarker treeset sorting int keys alphabetically?

我有一個TreeSet。

字符串鍵實際上是int的字符串值,因為freemarker不允許int作為映射的鍵,並且因為這是一個有序映射,所以它按如下方式對其進行排序:

1
10
11
12
2
3
4

6
7
8
9

任何人都知道如何繞過這個並按數字順序打印?

謝謝

通過構造函數TreeMap(Comparator)使用適當的比較器構造TreeMap(Comparator)

(或TreeSet,如果這就是你的意思;你提到了兩組和地圖。)

String內部通過compareTo強制執行字典順序

按字典順序比較兩個字符串。

如果您不想這樣,請考慮指定自定義Comparator例如

final Map<String, ...> map = new TreeMap<String, ...>(new Comparator<String>() {

  public int compare(final String a, final String b) {
    return Integer.valueOf(a).compareTo(Integer.valueOf(b));
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM