File tree Expand file tree Collapse file tree 4 files changed +8
-8
lines changed Expand file tree Collapse file tree 4 files changed +8
-8
lines changed Original file line number Diff line number Diff line change 24
24
25
25
## Collection
26
26
27
- <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/73403d84-d921-49f1-93a9-d8fe050f3497 .png " width = " 800px " > </div ><br >
27
+ <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191208220948084 .png " / > </div ><br >
28
28
29
29
### 1. Set
30
30
31
31
- TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。
32
32
33
33
- HashSet:基于哈希表实现,支持快速查找,但不支持有序性操作。并且失去了元素的插入顺序信息,也就是说使用 Iterator 遍历 HashSet 得到的结果是不确定的。
34
34
35
- - LinkedHashSet:具有 HashSet 的查找效率,且内部使用双向链表维护元素的插入顺序 。
35
+ - LinkedHashSet:具有 HashSet 的查找效率,并且内部使用双向链表维护元素的插入顺序 。
36
36
37
37
### 2. List
38
38
50
50
51
51
## Map
52
52
53
- <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/774d756b-902a-41a3-a3fd-81ca3ef688dc .png " width = " 500px " > </div ><br >
53
+ <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191208224757855 .png " / > </div ><br >
54
54
55
55
- TreeMap:基于红黑树实现。
56
56
57
57
- HashMap:基于哈希表实现。
58
58
59
- - Hashtable :和 HashMap 类似,但它是线程安全的,这意味着同一时刻多个线程可以同时写入 Hashtable 并且不会导致数据不一致 。它是遗留类,不应该去使用它。现在可以使用 ConcurrentHashMap 来支持线程安全,并且 ConcurrentHashMap 的效率会更高,因为 ConcurrentHashMap 引入了分段锁。
59
+ - HashTable :和 HashMap 类似,但它是线程安全的,这意味着同一时刻多个线程同时写入 HashTable 不会导致数据不一致 。它是遗留类,不应该去使用它,而是使用 ConcurrentHashMap 来支持线程安全,ConcurrentHashMap 的效率会更高,因为 ConcurrentHashMap 引入了分段锁。
60
60
61
61
- LinkedHashMap:使用双向链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。
62
62
Original file line number Diff line number Diff line change 24
24
25
25
## Collection
26
26
27
- <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/73403d84-d921-49f1-93a9-d8fe050f3497 .png " width = " 800px " > </div ><br >
27
+ <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191208220948084 .png " / > </div ><br >
28
28
29
29
### 1. Set
30
30
31
31
- TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。
32
32
33
33
- HashSet:基于哈希表实现,支持快速查找,但不支持有序性操作。并且失去了元素的插入顺序信息,也就是说使用 Iterator 遍历 HashSet 得到的结果是不确定的。
34
34
35
- - LinkedHashSet:具有 HashSet 的查找效率,且内部使用双向链表维护元素的插入顺序 。
35
+ - LinkedHashSet:具有 HashSet 的查找效率,并且内部使用双向链表维护元素的插入顺序 。
36
36
37
37
### 2. List
38
38
50
50
51
51
## Map
52
52
53
- <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/774d756b-902a-41a3-a3fd-81ca3ef688dc .png " width = " 500px " > </div ><br >
53
+ <div align =" center " > <img src =" https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/image-20191208224757855 .png " / > </div ><br >
54
54
55
55
- TreeMap:基于红黑树实现。
56
56
57
57
- HashMap:基于哈希表实现。
58
58
59
- - Hashtable :和 HashMap 类似,但它是线程安全的,这意味着同一时刻多个线程可以同时写入 Hashtable 并且不会导致数据不一致 。它是遗留类,不应该去使用它。现在可以使用 ConcurrentHashMap 来支持线程安全,并且 ConcurrentHashMap 的效率会更高,因为 ConcurrentHashMap 引入了分段锁。
59
+ - HashTable :和 HashMap 类似,但它是线程安全的,这意味着同一时刻多个线程同时写入 HashTable 不会导致数据不一致 。它是遗留类,不应该去使用它,而是使用 ConcurrentHashMap 来支持线程安全,ConcurrentHashMap 的效率会更高,因为 ConcurrentHashMap 引入了分段锁。
60
60
61
61
- LinkedHashMap:使用双向链表来维护元素的顺序,顺序为插入顺序或者最近最少使用(LRU)顺序。
62
62
You can’t perform that action at this time.
0 commit comments