LinkedHashMap与Map区别
来源:互联网 发布:淘宝怎么关闭返利 编辑:程序博客网 时间:2024/06/14 09:08
一般情况下,我们用的最多的是HashMap,在Map 中插入、删除和定位元素,HashMap 是最好的选择。但如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好。如果需要输出的顺序和输入的相同,那么用LinkedHashMap 可以实现,它还可以按读取顺序来排列.HashMap是一个最常用的Map,它根据键的hashCode值存储数据,根据键可以直接获取它的值,具有很快的访问速度。HashMap最多只允许一条记录的键为NULL,允许多条记录的值为NULL。HashMap不支持线程同步,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致性。如果需要同步,可以用Collections的synchronizedMap方法使HashMap具有同步的能力。Hashtable与HashMap类似,不同的是:它不允许记录的键或者值为空;它支持线程的同步,即任一时刻只有一个线程能写Hashtable,因此也导致了Hashtable在写入时会比较慢。LinkedHashMap保存了记录的插入顺序,在用Iterator遍历LinkedHashMap时,先得到的记录肯定是先插入的。在遍历的时候会比HashMap慢TreeMap能够把它保存的记录根据键排序,默认是按升序排序,也可以指定排序的比较器。当用Iterator遍历TreeMap时,得到的记录是排过序的。public static Map<String, String> toMap(){ EnumExceptionOrder[] eos = EnumExceptionOrder.values(); Map<String, String> result = new HashMap<String, String>(); for(int i = 0; i<eos.length; i++){ EnumExceptionOrder order = eos[i]; result.put(order.name(), order.getV()); } return result; } public static LinkedHashMap<String, String> toLinkedMap(){ EnumExceptionOrder[] eos = EnumExceptionOrder.values(); // Map<String, String> result = new HashMap<String, String>(); LinkedHashMap<String, String> result = new LinkedHashMap<String, String>(); for(int i = 0; i<eos.length; i++){ EnumExceptionOrder order = eos[i]; result.put(order.name(), order.getV()); } return result; }这两个方法都是插入值,但是在页面取值时Map去除的值不是按照插入顺序读取的,LinkedHashMap则是按照插入顺序读取
0 0
- LinkedHashMap与Map区别
- Map HashMap和LinkedHashMap区别
- map的遍历,HashMap,LinkedHashMap,TreeMap的区别
- 【code】各种Map的区别(HashMap,HashTable,LinkedHashMap,TreeMap)
- java map的区别 -- HashMap Hashtable LinkedHashMap 和TreeMap
- 【Java集合之Map】HashMap、HashTable、TreeMap、LinkedHashMap区别
- Map集合分类区别: hashmap linkedhashmap hashtable treemap
- LinkedHashMap和HashMap的区别与联系
- Java HashMap与LinkedHashMap的区别
- HashMap,ConcurrentHashMap与LinkedHashMap的区别
- JAVA LinkedHashMap与LRU,LinkedHashMap keySet遍历Map失败之谜
- 从头认识java-15.7 Map(7)-TreeMap与LinkedHashMap
- JDK容器与并发—Map—LinkedHashMap
- 认识Map之LinkedHashMap
- Map ,Hashmap,HashTable,LinkedHashMap
- 有序Map使用,LinkedHashMap
- Java Map接口LinkedHashMap
- 有序的map LinkedHashMap
- Android-connectivity连接
- android中的webview遇到的各种坑
- Jsoup解析HTML实例及文档方法详解
- 利用StringEscapeUtils对字符串进行各种转义与反转义(Java)
- 【Android 总结】一些常识
- LinkedHashMap与Map区别
- UIImageView填充裁剪
- Fragment详解之一——概述
- C/C++异常捕获try{}catch(...) // __try{ //...}__except(EXCEPTION_EXECUTE_HANDLER){ //...}
- 文章标题
- 本地存储数组
- .NET - http://referencesource.microsoft.com/
- 最简配置 app 升级服务器
- UVA 10004 Bicoloring