HashMap了解吗? HashMap底层数据结构:数组+链表+红黑树 允许put null值,HashMap在调用hash算法时,如果key为null,那么hash值为0,这一点和HashTable和ConcurrentHashMap有所不同。 (key == null) ? 0:(h=key.hashCode()) ^ (h >>> 16); loadFactor:负载因子,默认为0.75,时均衡了时间和空间损耗计算出来的,较高的值会减少空间的开销,扩容减少,数组大小增加速度变慢,但是查找成本…

2021年4月21日 0条评论 4点热度 阅读全文

线程是否安全 1.HashMap 是非线程安全的,HashTable 是线程安全的;HashTable 内部的方法基本都经过 synchronized 修饰。(如果你要保证线程安全的话就使用 ConcurrentHashMap 吧!); 效率 2.因为线程安全的问题,HashMap 要比 HashTable 效率高一点; 对Null key 和Null value的支持 3 HashMap 中,null 可以作为键,这样的键只有一个,可以有一个或多个键所对应的值为 null。但是在 HashTable 中 put …

2021年4月20日 0条评论 4点热度 阅读全文

java中集合大概可以分为两大类,Collection和map。而collection又分别包括set和list,今天我们探讨一下继承自collection集合的set和list的相关内容和效率比较;   Collection:一个独立元素的序列,这些元素按照一条或者多条规则。list必须按照插入的顺序保存元素,而set不能有重复元素。queue按照排队规格来确定对象产生的顺序(通常和他被插入的顺序相同,先进先出) 集合中概括了序列的概念---用于存放一组对象的方式。所以说集合中的元素必须为对象类型(即继…

2021年1月15日 0条评论 31点热度 阅读全文

Map的遍历 private void mapForeach() { Map<String, String> map = new HashMap<>(); map.put("1", "111"); map.put("2", "222"); map.put("3", "333"); // 方法一 // 通过Map.entrySet // 遍历key和value for (Map.Entry<String, String> entry : map.entrySet()) { Stri…

2021年1月15日 0条评论 36点热度 阅读全文

概要 本章是JUC系列的ConcurrentHashMap篇。内容包括: ConcurrentHashMap介绍 ConcurrentHashMap原理和数据结构 ConcurrentHashMap函数列表 ConcurrentHashMap源码分析(JDK1.7.0_40版本) ConcurrentHashMap示例 转载请注明出处:http://www.cnblogs.com/skywang12345/p/3498537.html   ConcurrentHashMap介绍 ConcurrentHas…

2017年8月28日 0条评论 3点热度 阅读全文