【转】LinkedHashMap与HashMap
来源:互联网 发布:淘宝分享红包怎么用 编辑:程序博客网 时间:2024/05/17 01:25
转载自:
http://blog.csdn.net/llbupt/article/details/6633128
顾名思义LinkedHashMap是比HashMap多了一个链表的结构。
与HashMap相比LinkedHashMap维护的是一个具有双重链表的HashMap,LinkedHashMap支持2种排序一种是插入排序,一种是使用排序,最近使用的会移至尾部例如 M1 M2 M3 M4,使用M3后为 M1 M2 M4 M了。
一:LinkedHashMap输出时其元素是有顺序的,而HashMap输出时是随机的,如果Map映射比较复杂而又要求高效率的话,最好使用LinkedHashMap。
二:但是多线程访问的话可能会造成不同步,所以要用Collections.synchronizedMap来包装一下,从而实现同步。其实现一般为:
Map<String String> map = Collections.synchronizedMap(new LinkedHashMap(<String String));
import Java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
public class TestLinkedHashMap {
public static void main(String args[])
{
System.out.println("*************************LinkedHashMap*************");
Map<Integer,String> map = new LinkedHashMap<Integer,String>();
map.put(6, "apple");
map.put(3, "banana");
map.put(2,"pear");
for (Iterator it = map.keySet().iterator();it.hasNext();)
{
Object key = it.next();
System.out.println( key+"="+ map.get(key));
}
System.out.println("*************************HashMap*************");
Map<Integer,String> map1 = new HashMap<Integer,String>();
map1.put(6, "apple");
map1.put(3, "banana");
map1.put(2,"pear");
for (Iterator it = map1.keySet().iterator();it.hasNext();)
{
Object key = it.next();
System.out.println( key+"="+ map1.get(key));
}
}
}
运行结果如下:
*************************LinkedHashMap*************
6=apple
3=banana
2=pear
*************************HashMap**************************
2=pear
6=apple
3=banana
-------------总结------------------------
一:LinkedHashMap输出时其元素是有顺序的,而HashMap输出时是随机的,如果Map映射比较复杂而又要求高效率的话,最好使用LinkedHashMap。
二:但是多线程访问的话可能会造成不同步,所以要用Collections.synchronizedMap来包装一下,从而实现同步。其实现一般为:Map<String String> map = Collections.synchronizedMap(new LinkedHashMap(<String String));
- 【转】LinkedHashMap与HashMap
- 转:关于HashMap与LinkedHashMap (记录)
- LinkedHashMap与HashMap
- LinkedHashMap与HashMap
- HashMap与LinkedHashMap知识
- LinkedHashMap 与 HashMap
- HashMap与LinkedHashMap
- HashMap与LinkedHashMap重要知识点
- LinkedHashMap和HashMap的区别与联系
- Java HashMap与LinkedHashMap的区别
- Java的HashMap与LinkedHashMap异同
- HashMap,TreeMap与LinkedHashMap的实例
- java中的Hashmap与LinkedHashMap总结
- HashMap与LinkedHashMap实现简要说明
- HashMap,ConcurrentHashMap与LinkedHashMap的区别
- LinkedHashMap 和 HashMap的区别(转)
- LinkedHashMap 和 HashMap的区别(转
- 【转】LinkedHashMap 与 LRUcache
- Solr 6.3.0 入门教程(开篇)Solr特性
- Spring mvc 第一站 初试
- Retrofit+Rxjava2问题小记
- Yii2.0-advanced-10—数据库操作6(读写分离-数据库主从配置)
- 16周项目1-验证算法(1)直接插入排序 显示过程
- 【转】LinkedHashMap与HashMap
- javascript学习--第一天
- Linux安装JDK详细步骤
- JavaWeb项目为什么我们要放弃原生tomcat的session/cookie机制?
- 多渠道打包 友盟
- js中替换系统自带的alert弹窗
- Windows无法安装到这个磁盘。这台计算机的硬件可能不支持启动到此磁盘。请确保在计算机的bios菜单中启用了磁盘的控制器
- spark AUC 计算实现(Scala)
- Golang获取整点的时间戳