小白學集合之List介面

定格&不褪發表於2021-01-02

List子介面

它的父類是collcetion

  • 特點:有序、有下標,元素可以重複

有序指的是:插入和取出的順序一樣

  • 方法:

void add(int index, Object o) //在index位置插入物件o

boolean addAll(int index, Collection c) //將一個集合中的元素插入到此集合index位置

Object get(int index) //返回集合中指定位置的元素

List subList(int fromIndex, int toIndex) //返回formIndex和toIndex之間的集合元素

list遍歷可以使用for迴圈,因為有下標。列表迭代器ListIterator方法如下圖。

下邊的ListDemo類比較基礎的一些操作

list.nextIndex() 輸出當前下標

list.next() 返回列表中的下一個元素,並且前進游標位置。

package com.list;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

/**
 * List子介面的使用
 * 特點:有序、有下標,可重複
 */
public class ListDemo {
    public static void main(String[] args) {
        //1、建立集合物件
        List list = new ArrayList();

        //2、新增元素
        list.add("蘋果");
        list.add("小米");
        list.add("華為");
        System.out.println("元素個數" + list.size());
        System.out.println(list.toString());

        //3、刪除元素。可以元素或者下表
        //list.remove("蘋果");
//        list.remove(0);
//        System.out.println("元素個數"+list.size());
//        System.out.println(list.toString());

        //4、遍歷
        //4.1、可以使用for遍歷。因為有下標
        for (int i =0 ; i < list.size(); i++) {
            System.out.println("for遍歷:"+list.get(i));
        }

        //4.2、增強for遍歷
        for (Object o : list) {
            System.out.println("增強for遍歷:"+o);
        }

        //4.3、使用迭代器遍歷
        Iterator it = list.iterator();
        while (it.hasNext()) {
            Object next = it.next();
            System.out.println("迭代器遍歷:"+next);
        }

        //4.4、使用列表迭代器遍歷。和Iterator的區別,ListIterator可向前或者向後遍歷,
        ListIterator lit = list.listIterator();
        System.out.println("----從前往後遍歷----");
        while (lit.hasNext()){
            //lit.nextIndex() 輸出當前下標
            //lit.next()  返回列表中的下一個元素,並且前進游標位置。 
            System.out.println(lit.nextIndex()+":"+lit.next());
        }

        System.out.println("----從後往前遍歷----");
        while (lit.hasPrevious()){
            System.out.println(lit.previousIndex()+":"+lit.previous());
        }

        //5、判斷
        System.out.println("集合是否包含蘋果:"+list.contains("蘋果"));
        System.out.println("集合是否為空:"+list.isEmpty());

        //6、獲取元素位置
        System.out.println("獲取華為元素下標:"+list.indexOf("華為"));
    }
}

相關文章