List

2017-12-27  本文已影响0人  menmo_O

List:
特有方法:凡是可以操作角标的方法都是该体系特有的方法。

add(index,element);
addAll(index,Collection);

remove(index);

set(index,element);

get(index);
subList(from,to);
listIterator();
int indexOf(obj):获取指定元素的位置。
ListIterator listIterator();

List集合特有的迭代器,ListIterator是Iterator的子接口。

在迭代时,不可以通过集合对象的方法操作集合中的元素。
因为会发生ConcurrentModificationException异常。

所以在使用迭代器时,只能用迭代器的方法操作元素,可是Iterator方法时有限的,
只能对元素进行判断,取出,删除的操作。
如果想要其他的操作,如添加、修改等,就需要使用其子接口,ListIterator。

该接口只能通过List集合的listIterator 方法获取。
eg:

        ArrayList al = new ArrayList();

        //添加元素
        al.add("java01");
        al.add("java02");
        al.add("java03");

        sop("原集合是:"+al);
        //在指定位置添加元素
        al.add(1,"java09");

        //删除指定位置的元素。
        al.remove(2);

        //修改元素。
        al.set(2,"java007");

        //通过角标获取元素。
        sop("get(1):"+al.get(1));
        sop(al);

        //获取所有元素。
        for (int x=0; x<al.size(); x++)
        {
            sop("al("+x+")="+al.get(x));
        }
        Iterator it = al.iterator();
        while (it.hasNext())
        {
            sop("next:"+it.next());
        }
        //通过indexOf获取对象的位置。
        sop("index="+al.indexOf("java02"));
        List sub = al.subList(1,3);

        sop(("sub="+sub));
    }
上一篇 下一篇

猜你喜欢

热点阅读