java 集合框架 Collection(List,Set) 与 Map 小结

Collection
  ├--- List(列表)允许重复
   |     ├-- Vector     内部是数组数据结构,是同步,线程安全的。100% 延长。
   |      |              增删查都慢。
   |     ├-- ArrayList  内部是数组数据结构,是不同步,线程不安全的。50% 延长。允许null元素
   |      |              查询元素速度快。
   |     └-- LinkedList 内部是链表数据结构,是不同步,线程不安全的。允许null元素
   |                    增删元素的速度快。
  └--- Set(集)不允许重复
        ├-- HashSet    内部是哈希表数据结构。无序,不重复,不同步,线程不安全的。
        └-- TreeSet    内部是二叉树结构。可对其进行排序,不重复,不同步,线程不安全的。
                       排序方式 一
                          让元素自身具备比较功能,元素需要实现 Comparable 接口,覆盖 compareTo 方法
                       排序方式 二
                          让集合自身具备比较功能,定义一个类实现 Comparator 接口,覆盖 compare 方法
                          将该类对象作为参数传递给 TreeSet 集合的构造函数。

 Map(映射)键唯一
   ├---HashMap     内部是哈希表数据结构。是不同步,线程不安全。
    |               key,value  允许为   null。
   ├---TreeMap     内部是二叉树结构。是不同步,线程不安全。
    |               可以对集合中key进行排序
   └---HashTable   内部是哈希表数据结构。是同步,线程安全。
                   key,value  不允许为   null。


可变长度数组原理:创建一个新数组,将原来数组数据复制到新数组中,返回新数组。
 

猜你喜欢

转载自blog.csdn.net/qq_39726772/article/details/85265484