目录: java 容器都有哪些? Collection 和 Collections 有什么区别? List、Set、Map 之间的区别是什么? HashMap 和 Hashtable 有什么区别? 如何决定使用 HashMap 还是 TreeMap? 说一下 HashMap 的实现原理? 说一下 H ...
分类:
编程语言 时间:
2019-12-23 13:30:37
阅读次数:
92
TreeMap的构造函数 可以传入 自定义的比较器、Map、SortedMap。 put方法: public V put(K key, V value) { Entry<K,V> t = root; //得到根节点 if (t == null) { //如果根节点为空 compare(key, ke ...
分类:
其他好文 时间:
2019-12-22 20:29:20
阅读次数:
113
1.定义: 添加枚举类元素的专用集合类 2.与其他集合类区别: EnumSet内部实现不使用常见的数据结构,比如数组(ArrayList),链表(LinkedList),哈系表(HashMap、Hashtable、HashSet),红黑树(TreeMap、TreeSet)而是使用位运算完成集合的基本 ...
分类:
编程语言 时间:
2019-12-21 20:55:03
阅读次数:
98
ConcurrentHashMap 内部结构 在JDK1.8之前的实现结构是:ReentrantLock+Segment+HashEntry+链表 JDK1.8之后的实现结构是:synchronized+CAS+Node+链表或红黑树(与HashMap一致) 而1.8之前锁的是Segment,1.8 ...
分类:
其他好文 时间:
2019-12-20 18:42:46
阅读次数:
74
5 并发容器 5.1 Hashtable、HashMap、TreeMap、HashSet、LinkedHashMap 在介绍并发容器之前,先分析下普通的容器,以及相应的实现,方便后续的对比。 Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以 键值对 的形式存储 ...
分类:
编程语言 时间:
2019-12-15 18:10:54
阅读次数:
86
Collection 1.List ArrayList:Object数组 Vector:Object数组 LinkedList:双向链表(JDK1.6之前为循环列表,JDK1.7取消了循环) 2.Set HashSet(无序,唯一):基于HashMap实现的,底层采用HashMap来保存元素 Lin ...
分类:
其他好文 时间:
2019-12-12 19:37:55
阅读次数:
101
总结 Map 用于保存具有映射关系的数据:相对于字典 1. 因此 Map 集合里保存着两组值,一组值用于保存 Map 里的 Key,另外一组用于保存 Map 里的 Value 2. Map 中的 key 和 value 都可以是任何引用类型的数据 3. Map 中的 Key 不允许重复,即同一个 M ...
分类:
编程语言 时间:
2019-12-11 00:48:39
阅读次数:
90
存储格式 基本用法 通过Jedis(封装了redis的Java客户端)对redis进行操作。 Jedis工具类 public class JedisPoolUtil { private static JedisPool pool = null; static { //加载配置文件 InputStre ...
分类:
编程语言 时间:
2019-12-09 15:26:04
阅读次数:
85
HashMap 格式: Map<key,values> map = new HashMap<>(); //对于HashMap集合需要传入两个参数叫做键、值 增加: map.put(key,values); //根据键的Hash码存储,如果key的Hash值相同,则根据书写顺序后面的values覆盖前 ...
分类:
其他好文 时间:
2019-12-07 01:15:28
阅读次数:
79
Map类的区别 Map类有:HashMap,LinkedHashMap,TreeMap HashMap中k的值没有顺序,常用来做统计,key和value可以为空,同时是线程不安全的,存入和输出的数据,顺序可能发生变化。 2.LinkedHashMap吧。它内部有一个链表,保持Key插入的顺序。迭代的 ...
分类:
编程语言 时间:
2019-12-03 19:34:43
阅读次数:
76