JAVA集合
文章平均质量分 76
发财猪猪
做个小笔记呀~
展开
-
Set
目录Set如何保证元素不重复HashSetTreeSetSet如何保证元素不重复HashSet基于HashMap实现的,默认构造函数是构建一个初始容量为16,负载因子为0.75 的HashMap封装了一个 HashMap 对象来存储所有的集合元素,所有放入 HashSet 中的集合元素实际上由 HashMap 的key来保存,而 HashMap 的 value 则存储了一个 PRESENT,它是一个静态的 Object 对象当向HashSet中添加元素的时候,首先计算元素的hashcode值,然原创 2021-02-24 10:50:05 · 44 阅读 · 0 评论 -
Map
目录HashMap底层实现JDK1.8之前JDK1.8之后Hashhash冲突解决办法JDK1.8前后hash的实现对比为什么要无符号右移16位后做异或运算HashMap 的长度为什么是2的幂次方链表长度大与等于8,不一定会变成红黑树HashMap 多线程操作导致死循环问题HashMap 和 Hashtable 的区别线程是否安全效率对Null key 和Null value的支持初始容量大小和每次扩充容量大小的不同底层数据结构ConcurrentHashMap底层实现JDK1.7(Segment + Ha原创 2021-02-24 10:49:27 · 49 阅读 · 0 评论 -
List
目录Arraylist 与 LinkedList 区别是否保证线程安全底层数据结构插入和删除是否支持快速随机访问内存空间占用RandomAccess接口list 的遍历方式选择ArrayList 与 Vector 区别ArrayList 的扩容机制Arraylist 与 LinkedList 区别是否保证线程安全ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全底层数据结构Arraylist 底层使用的是 Object 数组LinkedList 底层使用的是原创 2021-02-24 10:46:57 · 58 阅读 · 0 评论 -
基础
目录CollectionListSetMapfail-fast 和 fail-safefail-fast集合类中的fail-fastfail-safeCopy-On-WriteCollectionListArraylist: Object数组Vector: Object数组(所有操作都加上锁,不建议使用)LinkedList: 双向链表(JDK1.6之前为循环链表,JDK1.7取消了循环)SetHashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存原创 2021-02-24 10:46:01 · 49 阅读 · 0 评论