集合----List接口

List接口是collection的子接口,List定義的集合容器擁有下標(biāo),可以根據(jù)下表來(lái)操作集合中的元素。List集合可存放重復(fù)元素??纱娣哦鄠€(gè)null元素。
List中的方法add()可以在某一角標(biāo)位置添加,添加時(shí)要注意,添加的上一個(gè)位置一定要有數(shù)據(jù),不然運(yùn)行時(shí)會(huì)報(bào)錯(cuò)。

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接口中g(shù)et方法是得到某一位置的數(shù)據(jù),set方法是刪除某一位置的數(shù)據(jù)。remove方法返回的是被刪除的數(shù)據(jù)。
List接口下的集合擁有下標(biāo),因此List接口下的集合容器可以通過(guò)下標(biāo)來(lái)遍歷。
這里演示了三種遍歷數(shù)據(jù)的方法:

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的。不過(guò)它的特殊之處在于在迭代過(guò)程中可以修改數(shù)據(jù),以任意方向迭代數(shù)據(jù)。

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

    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容