首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

怎么让 Map 中的值按放入顺序输出

2012-09-05 
如何让 Map 中的值按放入顺序输出在使用 Java 的 Hashmap 时,输出 Map 中的值如何使之按放入的顺序输出来,

如何让 Map 中的值按放入顺序输出
在使用 Java 的 Hashmap 时,输出 Map 中的值如何使之按放入的顺序输出来,像 List 那样保持顺序。这里的顺序不是说对集合中的数据进行的排序,要是的话用 TreeMap,像 TreeSet 一样就行。 我们看个例子:

Map<String, Integer> map = (Map<String, Integer>)new ListOrderedMap();map.put("a", 12);map.put("b", 11);map.put("c", 3);    for (String key : map.keySet()) {    System.out.println(map.get(key));}

这一回乖乖,输出了 12   11  3 的顺序,可以多放些数据到这个 Map 中看看。我试过多次,没问题的,怎么顺序进什么顺序出来。你想要插入一个重复的键值呢,和其他 Map 是一样的,重复的 Key 加不进去。

你想用其他的 OrderedMap 实现类也无妨。稍有不足之处,当前的 commons-collections 3.2.1 尚不支持泛型,强型转一下了。

另一种方案:commons-collections 中还提供了 KeyValue 接口,有相应的多个实现类,如使用其中一个 DefaultKeyValue,把它放入 List 中也可做到 OrderedMap 那样的效果,稍稍麻烦了些。

热点排行