为了满足我们的实际开发需求,给了集合用来进行动态添加和动态扩容等。
简化的集合框架图如下:
-List接口 有序的 可重复的数据
实现类 | 效果 |
---|---|
ArrayList | 其实相当于一个动态数组 非线程安全的 效率高 |
LinkedList | 底层增加了一个双链表结构 主要用于频繁的遍历插入等等操作 |
Vector | 作为古老的实现类 基本不使用了 线程安全的 效率低 |
-set接口 无序的 不可重复的数据
实现类 | 效果 |
---|---|
HashSet | 无序的 不可重复的 非线程安全的 效率高 |
LinkedHashSet | 他可以按照添加的顺序进行遍历 增加一对指针 频繁的遍历和增删等操作比较高效率 |
TreeSet | 用来排序的 |
-map key-value形式存储的 双列的 接口
实现类 | 效果 |
---|---|
hashMap | 以key -value形式存储数据 |
TreeMap | 可以排序的 并且只能存储一组相同的数据 |
LinkedHashMap | 可以按照你添加的顺序进行遍历 |