Java(Collection单列集合之List集合)

List集合

概念

java.util.List接口 extends Collection接口

特点

1、存储有序
2、有索引
3、允许重复元素

  List接口带索引的方法(特有)
    -public void add(int index,E element):将指定的元素添加到该集合中的指定位置上
    -public E get(int index):返回集合中指定位置的元素
    -public E remove(int index):移除列表中指定元素,返回被移除的元素
    -public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回更新前的元素

   注意: 
      操作索引的时候,一定要防止索引越界异常

代码讲解

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

public class Test {
    public static void main(String[] args) {
        //创建一个List集合对象(多态)
        List<String> list = new ArrayList<>();
        //使用add方法往集合中添加元素
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("a");
        //打印集合
        System.out.println(list);//[a, b, c, d, a]    因为重写了toString方法,打印的就不是地址而是集合中的元素

        //public void add(int index,E element):将指定的元素添加到该集合中的指定位置上
        list.add(3,"Love");//[a, b, c, Love, d, a]

        // public E remove(int index):移除列表中指定元素,返回被移除的元素
        list.remove(3);//[a, b, c, d, a]

        //public E set(int index,E element):用指定元素替换集合中指定位置的元素,返回更新前的元素
        list.set(4,"A");//[a, b, c, d, A]


//List集合遍历de方法
        System.out.println("---------------1---------------");
        //第一种:普通for循环
        for (int i = 0; i < list.size(); i++) {
            //public E get(int index):返回集合中指定位置的元素
            String s = list.get(i);
            System.out.println(s);
        }
        System.out.println("---------------2---------------");
        //第二种:使用迭代器Iterator
        Iterator<String> it = list.iterator();//调用集合中的iterator()方法创建迭代器对象
        while (it.hasNext()){//判断是否有下一个元素
            String s = it.next();//获取下一个元素
            System.out.println(s);
        }
        System.out.println("---------------3---------------");
        //第三种:使用增强for
        for (String s : list) {
            System.out.println(s);//s相当于arr[i]
        }
        //第四种:使用列表迭代器 ListIterator
        System.out.println("---------------4---------------");
        //正向遍历
        ListIterator<String> li = list.listIterator();
        while (li.hasNext()){
            String next = li.next();
            System.out.println(next);
        }
        //逆向遍历(必须先得正向遍历才能使用)
        System.out.println("----------");
        while (li.hasPrevious()){
            String previous = li.previous();
            System.out.println(previous);
        }
        System.out.println("---------------5---------------");
        //第五种:数组,使用LIst集合中toArray方法
        Object[] obj = list.toArray();
        for (Object s:obj) {
            System.out.println(s);
        }


    }
}
posted @ 2021-02-28 19:54  一名初学者  阅读(193)  评论(0)    收藏  举报