Java成神路 —— List

2023-05-07 17:10:03 浏览数 (1)

1. List 概述和特点

1. List 概述

  • 有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素
  • 与Set集合不同,列表通常允许重复的元素

2. List 特点

  • 有索引:可以像数组一样按照元素下标访问
  • 可以存储重复元素:List 中可以加入重复的元素
  • 元素存取有序:List每个元素都有索引标记,可根据元素的索引标记访问元素

2. List 的特有方法

1. 方法介绍

方法名

描述

void add(int index,E element)

在此集合中的指定位置插入指定的元素

E remove(int index)

删除指定索引处的元素,返回被删除的元素

E set(int index,E element)

修改指定索引处的元素,返回被修改的元素

E get(int index)

返回指定索引处的元素

2. 示例代码

代码语言:javascript复制
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

public class Demo {
    public static void main(String[] args) {

        // 创建 List 集合对象
        List<String> name = new ArrayList<String>();

        // boolean add(E e):添加元素
        name.add("小明");
        name.add("凡汐");
        name.add("小红");
        name.add("小明"); //可添加重复元素

        System.out.println(name); // [小明, 凡汐, 小红, 小明]

        // void add(int index,E element): 在 list 的指定位置插入指定元素
        name.add(1,"小白");

        System.out.println(name); // [小明, 小白, 凡汐, 小红, 小明]

        // E remove(int index): 删除指定索引处的元素,返回被删除元素
        String temp = name.remove(3);
        System.out.println(temp);   // 小红
        System.out.println(name);   // [小明, 小白, 凡汐, 小明]

        // E set(int index,E element): 修改指定索引处的元素,返回被修改的元素
        temp = name.set(1,"小龙");
        System.out.println(temp);   // 小白
        System.out.println(name);   // [小明, 小龙, 凡汐, 小明]

        // E get(int index) 返回指定索引的元素
        temp = name.get(2);
        System.out.println(temp);   // 凡汐
    }
}

3. 列表迭代器

1. ListIterator 介绍

  • 列表迭代器通过List集合的listIterator()方法得到,所以说它是List集合特有的迭代器
  • 用于允许程序员沿任一方向遍历的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置

2. 示例代码

代码语言:javascript复制
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class Demo {
    public static void main(String[] args) {
        
        // 创建集合对象
        List<String> list = new ArrayList<String>();
        
        // 添加元素
        list.add("java");
        list.add("c");
        list.add("python");
        list.add("go");
        list.add("php");
        
        // 获取列表迭代器
        ListIterator<String> lit = list.listIterator();
        
        // 遍历
        while (lit.hasNext()){
            System.out.println(lit.next());
        }
    }
}

0 人点赞