java集合中的List
阅读:3713 次 编辑日期:20140928
目录:
概述:
最近尽忙结婚的事情了,更新的频率有所下降,今天继续。
在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中,接下来几篇文章主要讲讲java集合,今天讲讲java集合中的List。
什么是List:
List可以理解为列表,是一个接口,不能实例化,需要实例化一个ArrayList或者LinkedList,List 集合中的对象按照一定的顺序排放,里面的内容可以重复。
次序是List最重要的特点:它保证维护元素特定的顺序。List为Collection添加了许多方法,使得能够向List中间插入与移除元素(这只推 荐LinkedList使用。)一个List可以生成ListIterator,使用它可以从两个方向遍历List,也可以从List中间插入和移除元 素。
List接口主要实现类:
List接口主要实现类包括:
ArrayList() : 代表长度可以改变得数组。可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。
LinkedList(): 在实现中采用链表数据结构。插入和删除速度快,访问速度慢。
List 的 get(int index) 方法放回集合中由参数index指定的索引位置的对象,下标从“0” 开始。
List检索集合中的所有对象的方法:
最基本的两种检索集合中的所有对象的方法:
//for循环和get()方法:
for(int i=0; i<list.size();i++){
System.out.println(list.get(i));
}
//for循环和get()方法:
Iterator it=list.iterator();
while(it.hashNext()){
System.out.println(it.next());
}
ArrayList与LinkedList 的区别:
ArrayList:由数组实现的List。允许对元素进行快速随机访问,但是向List中间插入与移除元素的速度很慢。ListIterator只应该用来由后向前遍历 ArrayList,而不是用来插入和移除元素。因为那比LinkedList开销要大很多。
LinkedList :对顺序访问进行了优化,向List中间插入与删除的开销并不大。随机访问则相对较慢。(使用ArrayList代替。)还具有下列方 法:addFirst(), addLast(), getFirst(), getLast(), removeFirst() 和 removeLast(), 这些方法 (没有在任何接口或基类中定义过)使得LinkedList可以当作堆栈、队列和双向队列使用。