使用工具:eclipse或MyEclipse
Collection接口:1,集合框架的顶级接口;
2,Set和List的父接口,但不是Map接口;
List-接口 创建对象:List li=new ArrayList();
特性:1,有序(先加的先输出,有下标);
2,不唯一(允许添加重复数据);
遍历方式:for(下标输出)循环;foreach 遍历;Iterator 迭代器
Tip:迭代器
Iterator it=li.iterator;
while(it.hasNext()){//判断下一个元素是否存在,返回boolean---假如遍历起始位置为-1
System.out.println(it.next());//为true时,返回当前元素,并移动到下个元素
}
集合元素删除:
for(int i=0;i<li.size();){
li.remove(0);//连续数据空间存储数据
}
迭代器删除:
while(it.hasNext()){
it.next();//注意,要到下个元素,不然无法继续
it.remove();//删除元素
}
List优化:eg:List li=new ArrayList(10);
//初始大小为10,负载因子(扩容比例):0.5
//公式:当前容器大小+当前容器大小*0.5
泛型:以类型作为参数的类 eg:List<String> li=new ArrayList<String>();
装箱,拆箱:
装箱:值类型-->引用类型 eg:Integer in=new Integer(1);//1 为值类型
拆箱:引用类型-->值类型 eg:int i=in.intValue();(jdk1.5之前)
集合中只添加引用类型数据(jdk1.5之后自动转换)
实现类的区别:
Vector:增删改查都慢
LinkedList:以链表结构存储数据,查慢,增删改快
eg:0-0-0-0
ArrayList:连续数据空间存储数据,查快(下标),增删改慢
eg:【】【】【】
【】【】【】