List接口是collection的子接口,List定义的集合容器拥有下标,可以根据下表来操作集合中的元素。List集合可存放重复元素。可存放多个null元素。
List中的方法add()可以在某一角标位置添加,添加时要注意,添加的上一个位置一定要有数据,不然运行时会报错。
import java.util.ArrayList;
import java.util.List;
public class CollectionDemo {
public static void main(String[] args) {
List l=new ArrayList();
l.add("aaaaaaaa");
l.add(1,"element");
l.add(1,null);
l.add(1,null);
System.out.println(l);
Object o=l.get(3);
Object o1=l.remove(3);
Object o=l.set(3);
System.out.println(o);
System.out.println(o1);
}
}
List接口中get方法是得到某一位置的数据,set方法是删除某一位置的数据。remove方法返回的是被删除的数据。
List接口下的集合拥有下标,因此List接口下的集合容器可以通过下标来遍历。
这里演示了三种遍历数据的方法:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
public class CollectionDemo {
public static void main(String[] args) {
methord();
methord1();
methord2();
}
private static void methord2() {
// TODO Auto-generated method stub
List l = new ArrayList();
l.add("aaaaaaaa");
l.add(1, "element");
ListIterator lis = l.listIterator();
while (lis.hasNext()) {
System.out.println(lis.next());
}
}
private static void methord1() {
// TODO Auto-generated method stub
List l = new ArrayList();
l.add("aaaaaaaa");
l.add(1, "element");
for (int i = 0; i < l.size(); i++) {
System.out.println(l.get(i));
}
}
private static void methord() {
// TODO Auto-generated method stub
List l = new ArrayList();
l.add("aaaaaaaa");
l.add(1, "element");
for (Iterator i = l.iterator(); i.hasNext();) {
System.out.println(i.next());
}
}
}
listIterator是list特有的迭代器,他是继承Iterator的。不过它的特殊之处在于在迭代过程中可以修改数据,以任意方向迭代数据。
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class CollectionDemo {
public static void main(String[] args) {
methord2();
}
private static void methord2() {
// TODO Auto-generated method stub
List l = new ArrayList();
l.add("aaaaaaaa");
l.add(1, "element");
ListIterator lis = l.listIterator();
while (lis.hasNext()) {
Object obj = lis.next();
if (obj.equals("element")) {
lis.add("lishuaishuai");
}
}
while (lis.hasPrevious()) {
System.out.println(lis.previous());
}
}
}