小白学集合之List接口

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方法如下图。
小白学集合之List接口_第1张图片

下边的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("华为"));
    }
}

你可能感兴趣的:(集合框架,集合)