List中元素是有序的,元素可以重复,因为该集合有索引。
| 方法摘要 | ||
|---|---|---|
boolean |
add(E e)
向列表的尾部添加指定的元素(可选操作)。 |
|
void |
add(int index,
E element) 在列表的指定位置插入指定元素(可选操作)。 |
|
boolean |
addAll(Collection<? extends
E> c) 添加指定 collection 中的所有元素到此列表的结尾,顺序是指定 collection 的迭代器返回这些元素的顺序(可选操作)。 |
|
boolean |
addAll(int index,
Collection<? extends E> c)
将指定 collection 中的所有元素都插入到列表中的指定位置(可选操作)。 |
|
void |
clear() 从列表中移除所有元素(可选操作)。 |
|
boolean |
contains(Object o)
如果列表包含指定的元素,则返回 true。 |
|
boolean |
containsAll(Collection<?> c)
如果列表包含指定 collection 的所有元素,则返回 true。 |
|
boolean |
equals(Object o)
比较指定的对象与列表是否相等。 |
|
E |
get(int index) 返回列表中指定位置的元素。 |
|
int |
hashCode() 返回列表的哈希码值。 |
|
int |
indexOf(Object o)
返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。 |
|
boolean |
isEmpty() 如果列表不包含元素,则返回 true。 |
|
Iterator<E> |
iterator() 返回按适当顺序在列表的元素上进行迭代的迭代器。 |
|
int |
lastIndexOf(Object o)
返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。 |
|
ListIterator<E> |
listIterator() 返回此列表元素的列表迭代器(按适当顺序)。 |
|
ListIterator<E> |
listIterator(int index)
返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。 |
|
E |
remove(int index)
移除列表中指定位置的元素(可选操作)。 |
|
boolean |
remove(Object o)
从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。 |
|
boolean |
removeAll(Collection<?> c)
从列表中移除指定 collection 中包含的其所有元素(可选操作)。 |
|
boolean |
retainAll(Collection<?> c)
仅在列表中保留指定 collection 中所包含的元素(可选操作)。 |
|
E |
set(int index,
E element) 用指定元素替换列表中指定位置的元素(可选操作)。 |
|
int |
size() 返回列表中的元素数。 |
|
List<E> |
subList(int fromIndex, int toIndex)
返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。 |
|
Object[] |
toArray() 返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。 |
|
|
toArray(T[] a) 返回按适当顺序(从第一个元素到最后一个元素)包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。 |
|
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
/**
*
* List中特有的方法:凡是可以操作角标的方法都是
*
* 增 add (index,element); addAll (index,Collection); 删 remove (index); 改 set
* (index,element); 查 get (index); subList (from,to); listIterator ();
*
* @author Caesar
*
* List集合特有的迭代器,ListIterator是iterator的子接口 在迭代时,不可以通过集合对象的方法操作集合中的元素
* 只能对元素进行判断,取出,删除的操作 如果想要其他的操作,如添加,修改等,就需要使用期子接口ListIterator
* 该接口只能通过List集合的ListIterator方法获取。
*/
public class ListDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// method_1();
method_2();
}
public static void method_2() {
// 演示列表迭代器
ArrayList al = new ArrayList();
al.add("01");
al.add("02");
al.add("03");
/*
* // 在迭代过程中准备添加或者删除元素 Iterator it = al.iterator(); 迭代器操作 while
* (it.hasNext()) { Object object = it.next(); if (object.equals("02"))
* { //al.add("05");//并发访问,可能会产生安全隐患,不能对同一组元素同时进行不同的操作 it.remove
* ();//集合容器中的02也会被删除,将02的引用从集合中删除 //迭代器操作中没有添加操作。 } sop(it.next()); }
*/
ListIterator li = al.listIterator();
while (li.hasNext()) {
Object object = li.next();
if (object.equals("02")) {
li.add("08");
}
}
sop(al);
sop(li.hasNext());
sop(li.hasPrevious());
// 反向遍历
while (li.hasPrevious()) {
sop(li.previous());
}
}
public static void method_1() {
ArrayList al = new ArrayList();
al.add("01");
al.add("02");
al.add("03");
sop("原集合是:" + al);
// 在指定位置添加元素
al.add(1, "09");
sop(al);
// 删除元素
al.remove(2);
sop(al);
// 修改元素
al.set(0, "00000005");
sop(al);
// 通过角标获取元素
sop("get 2 = " + al.get(2));
// 获取所有元素
for (int x = 0; x < al.size(); x++) {
System.out.println(al.get(x));
}
Iterator it = al.iterator();
while (it.hasNext()) {
sop(it.next());
}
// 通过indexOf 获取对象的位置
sop("index = " + al.indexOf("03"));
List sub = al.subList(1, 3);
sop(sub);
}
public static void sop(Object obj) {
System.out.println(obj);
}
}原文地址:http://blog.csdn.net/u013476556/article/details/44925175