Lists.newArrayList(); // ① Lists.newArrayListWithCapacity(10); // ② Lists.newLinkedList(); // ③ Lists.newCopyOnWriteArrayList(); // ④
① 创建一个 ArrayList 对象,底层实现是数组
② 创建一个指定初始大小的 ArrayList 对象
③ 创建一个 LinkedList 对象,底层实现是链表
④ 创建一个 CopyOnWriteArrayList 对象,参考: 并发编程网 - 聊聊并发:Java中的 Copy-On-Write 容器
Sets.newHashSet(); // ① Sets.newLinkedHashSet(); // ② Sets.newTreeSet(); // ③ Sets.newConcurrentHashSet(); // ④ Sets.newCopyOnWriteArraySet(); // ⑤
① 创建一个 HashSet 对象,底层实现是哈希表
② 创建一个 LinkedHashSet 对象,底层实现是哈希表和链表。与 HashSet 的实现不同的是,LinkedHashSet 维护了一条双向链表保存元素值,保证了插入顺序
③ 创建一个 TreeSet 对象,底层实现是红黑树
④ 创建一个线程安全的 Set 对象,实际上是在 ConcurrentHashMap 基础上实现的
⑤ 创建一个 CopyOnWriteArraySet 对象,参考: 并发编程网 - 聊聊并发:Java中的 Copy-On-Write 容器
集合运算的 :chestnut::
TODO
TODO
TODO