一. Collection接口
1.1 集合框架的顶级接口
1.2 是Set和List的父接口
1.3 但不是Map的父接口
二.ArrayList
1.ArrayList
//编写>>编译>>运行
//jdk>jre>jvm
//<E>代表泛型 element元素
//泛型不指定任何数据类型的时候 那么默认的数据类型是object
//object是引用类型
//集合是动态的数组
ArrayList:连续数据空间存储数据,查询快(下标),增删慢
2.foreach
//Object object : arry
//元素类型 元素变量名 :集合或数组
3.迭代器
// Iterator it=arry.iterator();
// while (it.hasNext()) {
// System.out.println(it.next());
// }
4.集合迭代器
// ListIterator listit=arry.listIterator();
// System.out.println(listit.hasPrevious());
// while (listit.hasPrevious()) {
// System.out.println(listit.previous());
// }
二.List
1.特性:
1.1有序 ,元素存进去的顺序和取出来的顺序一致
1.2不唯一,可以添加重复元素
2 遍历方式
2.1.foreach
2.2.for
2.3.iterator 迭代器
hasNext():判断集合中下一个元素是否存在,不会移动下标
next():移动到下一个元素位置并取出元素
3.List元素删除
3.1.迭代器删除
Iterator it=list.iterator();
while(it.hasNext()){
//移动到下一个位置
it.next();
//删除元素
it.remove();
}
3.2.for 逆向删除
for (int i = list.size()-1; i>=0; i--) {
list.remove(i);
}
4. List优化
初始容量10,负载因子0.5
Object[] obj=new Object[10];
公式:容量大小+初始容量*0.5
例子:10+10*0.5=15
15+10*0.5=20