容器:存储多个数据(引用数据类型 ,基本数据类型自动装箱),可不同类型,长度可变,数据类型可任意组合 。
Collection:
常用方法:
增:add() addAll() 增加对象
删:remove() removeAll()
改:
查:retain() retainAll() 是否包含 isEmpty()
toArrary() 转化为数组
遍历方式 :
1.foreach循环 2.iterator迭代器
泛型
泛型:把数据类型作为数据类型传递(
1)定义泛型
泛型只发生在编译期间,运行时无效,运行擦除
好处:
1.代码简洁 2.增强程序健壮性,避免转化异常 3.增强程序稳定性与可读性
eg:Collection<String> coll=new ArrayList<String>(); 后面的<>可以取消
List
底层:List的底层为数组,所以数据可以重复 ,对数据进行有序的排列
好处:查询效率高,增删效率低
遍历方式:1.普通 for循环 2.iterator迭代器
相比Collection,List新增了一系列根据索引操作的方法
.of() 直接添加一系列内容,但之后不可进行修改
1.ArrayList
扩容机制:默认原始容量为10 每次扩容为原容量的1.5倍
遍历新增:增强 for循环
其他的与List相同
2.Vector(了解)
ArrayList 线程不同步,不安全,效率高(用的多)
Vector 线程同步,安全
扩容:大小可根据需要增大减小,每次扩容为原容量的2倍。
3.LinkedList
底层:双向链表
前一个Data地址 | Data | 后一个Data地址 |
特点:查询效率高,增删效率低
新增方法:与链表头尾相关的方法
增:第一个位置插入 offerFirst() offerLast() 1.6~
删:remove()
改:
查:element() getFirst() getLast()
Set
无序(存放顺序与存储位置不一致),不重复|去重(equals方法,如果一致,不添加)
遍历:1.增强for循环 2.Iterator迭代器
增:.of() 直接添加一系列内容,但之后不可进行修改