集合----List接口

2017-02-10  本文已影响9人  李霖神谷

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());
        }

    }

}
上一篇 下一篇

猜你喜欢

热点阅读