具有键和值的树形图排序序列

时间:2014-06-13 04:38:37

标签: android treemap

我的代码如下,以及treeMapMem的输出如下: -

key value
1   a
10  b
2   c
3   d

for(Map.Entry<String,String> entry : treeMapMem.entrySet()) {
String value = entry.getValue();
myMenulistSeqMem.add(value);
}

我的问题是这样的排序顺序从1,2,3很好,但是在1之后出现10。任何解决的都会受到赞赏。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

这是因为默认字符串Comparator使用lexicographical order - 即字符逐个字符。由于“1”位于“2”之前,因此任何以“1”开头的字符串将以“2”开头的任何其他字符串开头。

可以创建自己的自定义比较器来实现Natural Sorting并将其提供给TreeMap's constructor,但在这种情况下,将地图定义为更简单TreeMap<Integer, String>