集合基础知识学习(一):List的相关

使用工具: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:【】【】【】

       【】【】【】




相关文章: