先来简要介绍一下,ArrayList与LinkedList都是List接口的实现类(可用于存储一系列的对象和对元素的增删改查操作),其中List接口继承了Collection接口,而Collection接口又继承了Iterable接口,所以List同时拥有着Collection和Iterable接口的特性。
对于ArrayList,它是以数组结构的形式来实现的,可用索引的方式快速定位,下面是循环ArrayList的三种方式:
1,一般的for循环对象的size,直接get出来;
如:
for(int i=0; i<list.size(); i++){
System.out.print(list.get(i)+" ");
}
2,使用迭代器Iterator中的next方法直接循环获取;
如:
Iterator it = list.iterator();
while(it.hasNext())
{
System.out.print(it.next()+" ");
}
3,增强型的for循环直接输出(方便简洁,推荐使用)。
如:
for(String s : list){
System.out.print(s+" ");
}
对于LinkedList,它是以链表的形式来实现的,有特定的方法,适合用来实现Stack(堆栈-先进后出)与Queue(队列-先进先出),
特定的方法有:addFirst()、addLast()、getFirst()、getLast()、removeFirst()、removeLast()等,这里暂不多加代码边幅介绍。
ArrayList和LinkedList的使用区别总结点:
1.对于查找操作,ArrayList要比LinkedList快,因为LinkedList还要移动它的指针。
2.对于增删操作,LinkedList比较占优势,因为ArrayList要移动数据,而LinkedList只需要改变前后对象引用就可以了。