import java.util.ArrayList;
import java.util.ListIterator;
public class TestList {
public static void main(String[] args) {
ArrayList a1 = new ArrayList();
a1.add("java01");
a1.add("java02");
a1.add("java03");
//为什么 a1.add(1,"java0081") 添加在java02的前面?因为你在这里面设定了“java0081”所存放的位置,角标为1
//API中是这么定义的void add(int index, E element) 将指定的元素插入此列表中的指定位置。
a1.add(1, "java0081");
ListIterator li = a1.listIterator();
while (li.hasNext()) {
Object obj = li.next();
if (obj.equals("java02"))
// 在后边添加一个元素。
//add添加在java02 的后边呢 ?
//在ListIterator的add方法中是这么定义的:void add(E e)将指定的元素插入列表(可选操作)。
//该元素直接插入到 next 返回的下一个元素的前面(如果有),或者 previous 返回的下一个元素之后(如果有);
//如果列表没有元素,那么新元素就成为列表中的唯一元素。
//这个时候光标指向“java02”的后面,自然添加在”java02“的后面
li.add("java008");
}
//Iterator it = a1.iterator();
java.util.Iterator it = a1.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
|