集合框架
2023-03-05 23:00:19 0 举报
AI智能生成
集合
作者其他创作
大纲/内容
Collection<<interface>>
Set<<interface>>
SortedSet<<interface>>
NavigableSet<<interface>>
ConcurrentSkipListSet
AbstractSet
TreeSet
HashSet:
HashSet 从源码分析是使 HashMap 来实现的,只是Valu 固定为一个静态对象,
使用 Key 保证集合元素的唯一性,但它不保证集合元素的顺序。
怎么保证值的唯一性?
key是对象,通过对象的hashcode和其他对象的hashcode做比较,如果不同则不存在相同值,可以存入;
如果存在hashcode相同则继续使用equals()比较两个对象是否一样,如果一样则不让其加入操作。
HashSet 从源码分析是使 HashMap 来实现的,只是Valu 固定为一个静态对象,
使用 Key 保证集合元素的唯一性,但它不保证集合元素的顺序。
怎么保证值的唯一性?
key是对象,通过对象的hashcode和其他对象的hashcode做比较,如果不同则不存在相同值,可以存入;
如果存在hashcode相同则继续使用equals()比较两个对象是否一样,如果一样则不让其加入操作。
LinkedHashSet
List<<interface>>
List 集合是线性数据结构的主要实现
List 集合是线性数据结构的主要实现
AbstractList
ArrayList
ArrayList 是容量可以改变的非线程安全集合,内部实现使用数组进行存储,数组天然⽀持随机
访问,时间复杂度为 O(1)
访问,时间复杂度为 O(1)
实现了 RandomAccess 接⼝的list,优先选择普通 for 循环 ,其次 foreach
Vector:
Vector 类的所有⽅法都是同步的。可以由两个线程安全地访问⼀个Vector对象、
但是⼀个线程访问Vector的话代码要在同步操作上耗费⼤量的时间。
Vector 类的所有⽅法都是同步的。可以由两个线程安全地访问⼀个Vector对象、
但是⼀个线程访问Vector的话代码要在同步操作上耗费⼤量的时间。
Stack
AbstractSequentialList
LinkedList
LinkedList 的本质是双向链表,底层使用双向链表数据结构
与 ArrayList 相比 LinkedList 的插入和删除速度
更快,但是随机访问速度则很慢
更快,但是随机访问速度则很慢
这个接口同时具有队列和栈的性质。
LinkedList 的优点在于可以将零
散的内存单元通过附加引用的方式关联起来,形成按链路顺序查找的线性结构,内存
利用率较高。
散的内存单元通过附加引用的方式关联起来,形成按链路顺序查找的线性结构,内存
利用率较高。
LinkedList 采⽤链表存储,所以对于 add(E e) ⽅法的插⼊,删除元素时间复杂
度不受元素位置的影响,近似 O(1),如果是要在指定位置 i 插⼊和删除元素的话
( (add(int index, E element) ) 时间复杂度近似为 o(n)) 因为需要先移动到指定位置
再插⼊。
度不受元素位置的影响,近似 O(1),如果是要在指定位置 i 插⼊和删除元素的话
( (add(int index, E element) ) 时间复杂度近似为 o(n)) 因为需要先移动到指定位置
再插⼊。
CopyOnWriteArrayList
Queue<<interface>>
BlockingQueue<<interface>>
Deque<<interface>>
AbstractQueue
LinkedBlockingQueue
SynchronousQueue
ArrayBlockingQueue
PriorityBlockingQueue
DelayQueue
Map<<interface>>
ConcurrentMap<<interface>>
ConcurrentHashMap
HashTable
AbstractMap
TreeMap
HashMap:
5、DEFAULT_INITIAL_CAPACITY ,它规定的默认容量是 16。
- 几个重要属性:1、loadFactor,它是负载因子,默认值是 0.75,
表示扩容前;2、threshold 它是记录 HashMap 所能容纳的键
值对的临界值,超过临界值要进行扩容,它的计算规则是负载因子乘以数组长度。
3、size,它用来记录 HashMap 实际存在的键值对的数量。
5、DEFAULT_INITIAL_CAPACITY ,它规定的默认容量是 16。
LinkedHashMap
SortedMap<<interface>>
NavigableMap<<interface>>
ConcurrentSkipListMap
0 条评论
下一页