Java中keySet()返回值的排序问题
来源:互联网 发布:360全景效果图软件 编辑:程序博客网 时间:2024/06/15 20:44
import java.util.HashMap;import java.util.Hashtable;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Set;import java.util.TreeMap;public class Test2 { /** * @param args */ public static void main(String[] args) { ///////////////////////////////////////////////////////////// // TEST ///////////////////////////////////////////////////////////// System.out.println("## Hashtable ##"); Hashtable<String , String> ht = new Hashtable<String , String>(); ht.put("1", "OOO"); ht.put("3", "OOO"); ht.put("2", "OOO"); ht.put("5", "OOO"); ht.put("4", "OOO"); Iterator<String> it = ht.keySet().iterator(); while (it.hasNext()) { System.out.println(it.next()); } ///////////////////////////////////////////////////////////// // TEST ///////////////////////////////////////////////////////////// System.out.println("## TreeMap ##"); TreeMap<String , String> tm = new TreeMap<String , String>(); tm.put("1", "OOO"); tm.put("3", "OOO"); tm.put("2", "OOO"); tm.put("5", "OOO"); tm.put("4", "OOO"); Iterator<String> it2 = tm.keySet().iterator(); while (it2.hasNext()) { System.out.println(it2.next()); } ///////////////////////////////////////////////////////////// // TEST ///////////////////////////////////////////////////////////// System.out.println("## HashMap ##"); Map<String , String> hm = new HashMap<String , String>(); hm.put("1", "OOO"); hm.put("3", "OOO"); hm.put("2", "OOO"); hm.put("5", "OOO"); hm.put("4", "OOO"); Iterator<String> it3 = hm.keySet().iterator(); while (it3.hasNext()) { System.out.println(it3.next()); } ///////////////////////////////////////////////////////////// // TEST ///////////////////////////////////////////////////////////// System.out.println("## LinkedHashMap ##"); LinkedHashMap<String, String> lhm = new LinkedHashMap<String , String>(); lhm.put("1", "OOO"); lhm.put("3", "OOO"); lhm.put("2", "OOO"); lhm.put("5", "OOO"); lhm.put("4", "OOO"); Iterator<String> it4 = lhm.keySet().iterator(); while (it4.hasNext()) { System.out.println(it4.next()); } }}
<pre name="code" class="plain">输出结果如下:
<pre name="code" class="sql">
## Hashtable ##
5
4
3
2
1
## TreeMap ##
1
2
3
4
5
## HashMap ##
3
2
1
5
4
## LinkedHashMap ##
1
3
2
5
4
由此可见,大致上如下 Hashtable.keySet() 降序 TreeMap.keySet() 升序 HashMap.keySet() 乱序 LinkedHashMap.keySet() 原序除了TreeMap.keySet(), JavaDoc中对keySet()返回值的顺序没有明确说明,实际应用中,如果对顺序有明确要求,最好能明确的对其顺序进行整理。
转自:http://www.cnblogs.com/csliwei/archive/2012/01/12/2320674.html
0 0
- Java中keySet()返回值的排序问题
- Java中keySet()返回值的排序问题
- Java中Map.keySet()返回值遍历的排序问题
- Java中keySet()返回值的排序问题
- Java中keySet()返回值的排序问题
- Java中keySet()返回值的排序问题
- Map.keySet()排序问题
- Java中Map的keySet是无序的
- java中Map中的keySet,values,entrySet的区别
- map排序及keyset顺序问题
- java Map的keySet方法,并遍历Map的值
- Java NIO中SocketChannel read方法的返回值问题
- 关于java中返回值的问题void
- Java方法中有循环的时候返回值问题
- 关于JAVA中引用及返回值的问题
- java集合之map中keySet方法
- android中Sqlite查询的数据返回排序问题
- Java中遍历Map的两种方法:keySet和entrySet
- MFC10环境下用MFC4的方法实现CEdit透明
- CListCtrl透明完美实现
- 手机淘宝APP主要视觉设计图分析【惠龙之 :花骨朵儿】
- CTreeCtrl背景透明完美实现
- Windows 7 64位 HookApi例子
- Java中keySet()返回值的排序问题
- POJ-1611 The Suspects
- Struts2学习笔记
- [leetcode] 230. Kth Smallest Element in a BST
- 【2014.8.17NOIP普及组模拟】愤怒的牛
- 关于Java生成指定格式的xml文档
- Java中的final和static
- 一致性性哈希
- [转]易语言 360免杀方法心得总结