List接口继承于Collection接口,
ArrayList,LinkedList,Vector均实现了List接口。
主要以ArrayList为例介绍几种常用的方法:
List list = new ArrayList();
list.add(“A”);
list.add(“B”);
list.add(“C”); //往list中添加元素。
遍历list中所有的元素:
1.使用index方法
for(int i = 0; i < list.size(); i++) {
list.get(i);
}
2.使用iterator
for(Iterator iter = list.iterator(); iter.hasNext();) {
iter.next();
}
3.使用for each循环
for(String obj : list) {
System.out.print(obj);
}
往list中插入其他元素:
list.add(2, “F”); //在第二个元素后插入元素E。
public class Test01
{
public static void main (String[] args){
List<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
System.out.println(list);
list.add(2,"E");
System.out.println(list);
}
}
运行结果:
[A, B, C, D]
[A, B, E, C, D]
代替某一个元素
list.set(2, “E”); //将index为2的元素换成元素E。
删除某一元素:
list.remove(0); //删除第一个元素
list.remove(list.size() - 1); // 删除最后一个元素
或者
list.remove(list.get(0)); //删除第一个元素
list.remove(list.get(list.size() - 1)); //删除最后一个元素
删除所有的元素
list.removeAll(list);
或者
list.clear();
判断list是否为空:
list.isEmpty(); //若为空返回true,不为空返回false。
Arraylist实现了基于动态数组的数据结构,对于随机访问set和get,ArraList要优于LinkedList。
LinkedList是基于链表的数据结构,对于新增和删除操作add和remove,LinkedList比较占优势。