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。
可变长度数组原理:创建一个新数组,将原来数组数据复制到新数组中,返回新数组。