Java容器
1.List (ArrayList ,LinkedList,Vector)
List 特点:有序,可重复
1.1.ArrayList
1.1.1 ArrayList类的继承关系图
1.1.2. ArrayList的基本使用
1.1.3.ArrayList源码分析及实现
ArrayList 底层是通过数组的实现, 在内存中分配连续的存储空间,可以实现动态扩容,遍历和随机访问元素的效率高,添加和删除元素需要移动大量的元素,效率低。
1.2.LinkedList
1.2.1.类的继承关系图
1.2.2.LinkedList 的基本使用
1.2.1.LinkedList源码分析及实现
LinkedLis底层是通过双向链表实现,遍历和随机访问的效率比较低,插入和删除元素的效率高。
Vector 底层是通过数组实现,古老的类,基本不使用。
2.Set (HashSet,LinkedHashSet,TreeSet)
Set特点:无序(不等于随机性,存储的数据在底层数组中并非按照数组的索引的顺序添加,而是由根据数据的hash值决定的,不可重复(保证添加的元素按照equals()判断时不能返回true,相同的元素只能添加一次)
HashSet :底层调用HashMap , 添加删除和查询的速度快。
LinkedHashSet: 采用哈希表存储数据,同时采用链表维护次序,添加(有序)
TreeSet :采用二叉树存储结构,实现排序的功能。
3.Map (HashMap,LinkedHashMap,TreeMap)
HashMap :key :无序,唯一 value:无序,不唯一
LinkedHashMap:有序的HashMap
TreeMap: 实现排序。
每天进步一丢丢
没有完成