一:了解JAVA 集合框架体系结构
体系结构>>
java集合框架提供了一套性能优良、使用方便的接口和类,位于Java.util包中
Collection 是接口 代表了一个集合框架 各种集合接口的一个副接口 对集合进行操作时使用的
Collections 是类 是提供了对集合进行排序、遍历等多种算法实现的类
补充:
右下角的 Collections Arrays 为工具类 提供了对集合进行排序、遍历等多种算法实现
2:
Collection(父类) 接口存储一组 不唯一,无序的对象 记忆方法父类包容性最强 子类逐步规范
List (子类) 接口存储一组不唯一,有序(插入顺序)的对象
Set (子类) 接口存储一组唯一,无序的对象
Map 接口 存储一组键值对象,提供key 到 value的映射 (所以里面存储的是一对一对的)
key 唯一 无序 value 不唯一 key 就是Set(唯一、且无序)
List类:两个接口 ArraysList LinkedList
ArraysList实现了长度可变的数组, 在内存中分配连续的空间,遍历元素和随机访问元素的效率比较高
Linked List 采用链表存储方式,插入、删除时效率更高
会有单独的空间记录下一个元素 得位置 当插入元素得时候只会影响对应位置 或者 相邻位置得元素 而 ArraysList 会影响后续所有人
方法:
使用ArraysList使用 add 把元素、对象加入
获取ArraysList里面存放多少元素时候没有length,使用了size方法
使用get方法把ArraysList里面的元素拿出来,但拿出来的是 object 类型,需要转换
boolean add(Object o) 依次在列表末尾添加元素
void add(int index , Object o) 指定位置插入某个特定元素
int size() 返回列表中的元素个数
Object get(int index) 返回指定索引位置处的元素,为Object类型,需要强制转换
boolean contains 判断列表中是否含有某个元素,如果是返回true,不是返回false
boolean remove(Object o)列表删除元素,返回布尔值
Object remove(int index)删除列表中指定位置元素,把删除的元素返回
标红为Collection接口的通用方法,通用方法还有 clear(把集合里的元素全部清空)、isEmpty(判断集合是否为空)、iterator(获取遍历一个元素的迭代器)、toArray(把集合转变序列)
LinkedList和ArrayList的相同点:
1.同为List实现类,元素有序,不唯一,长度可变
2.共有Collection以及List的通用方法
不同点:
ArraysList 实现了长度可变的数组,在内存中分配连续的空间,遍历数组和随机元素访问的效率比较高
LinkedList(采用链表存储方式,插入、删除时效率更高)
如果觉得《集合框架List必知必会》对你有帮助,请点赞、收藏,并留下你的观点哦!