TreeSetがあります。
文字列キーは実際にはintの文字列値です。これは、freemarkerがintをマップへのキーとして許可していないためです。これはソートされたマップであるため、次のようにソートされます。
1
10
11
12
2
3
4
5
6
7
8
9
これを回避して番号順に印刷する方法を知っている人はいますか?
ありがとう
TreeSetがあります。
文字列キーは実際にはintの文字列値です。これは、freemarkerがintをマップへのキーとして許可していないためです。これはソートされたマップであるため、次のようにソートされます。
1
10
11
12
2
3
4
5
6
7
8
9
これを回避して番号順に印刷する方法を知っている人はいますか?
ありがとう
コンストラクターを介して適切なコンパレーターを使用してマップを作成しTreeMap(Comparator)
ます。
(または、TreeSet、それが実際の意味である場合は、セットとマップの両方に言及します。)
String
を介して内部的に辞書式順序を課しcompareTo
ます。
2つの文字列を辞書式に比較します。
それを望まない場合は、カスタムを指定することを検討してください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));
}
});