集合之List

来源:互联网 发布:上海招聘seo引擎优化 编辑:程序博客网 时间:2024/06/06 15:54

集合

java的集合主要分类Collection接口和Map接口,Collection接口作为集合的根接口,实现了Iterable接口,表示集合可以进行for-each循环。
继承树如下:

注:Iterable与Iterator的比较:Iterable接口中有个名字叫做iterator的方法需要实现,而Iterator接口中有next()、hashNext()、remove()三个方法需要实现;它们两个属于不同的包,上图可以看出。

List

List是一个有序序列,和数组有些类似,但是又不尽相同,因为我们都知道数组的长度只要指定了就是不可变的,而List的容量不固定,List的实现类ArrayList默认容量为10,底层实现是一个Object[]数组,只不过它是容量可变的,每次扩容都会将原来的对象拷贝一份存入新的里面,原来的就会被回收,所以在实际的编码中,还是要估算一下长度,指定容量,减少扩容次数,提高性能。每次扩容的量为oldCapacity+(oldCapacity>>1)。
注:虽然说ArrayList的默认容量是10,但是通过size()获取的是实际的长度,看例子:

public class ReviseDemo {     public static void main(String[] args){         List<Integer> inList=new ArrayList<>();         System.out.println("inList的长度:"+inList.size());         inList.add(1);         inList.add(2);         System.out.println("添加内容之后的inList的长度:"+inList.size());         System.out.println(inList);      } }运行结果:inList的长度:0添加内容之后的inList的长度:2[1, 2]

下一篇会介绍一下for、for-each、迭代器三者之前的区别~

原创粉丝点击