集合----List接口

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

    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容