Java List(列表)

List 是一个有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List 集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。List 集合默认按元素的添加顺序设置元素的索引,第一个添加到 List 集合中的元素的索引为 0,第二个为 1,依此类推。

List 实现了 Collection 接口,它主要有两个常用的实现类:ArrayList 类和 LinkedList 类。

这些类在Collections框架中定义并实现List接口。

如何使用List?

在Java中,必须导入 java.util.List 包才能使用List。

java 复制代码
//List 的ArrayList 实现
List<String> list1 = new ArrayList<>();

// List 的LinkedList 实现
List<String> list2 = new LinkedList<>();

在这里,我们已经创建ArrayList和LinkedList类的对象list1和list2。现在这些对象可以使用List接口的功能。

List方法

List接口包括Collection接口的所有方法。 这是因为Collection是List的超级接口。

Collection接口中还提供了一些常用的List接口方法:

  • add() - 将元素添加到列表

  • addAll() - 将一个列表的所有元素添加到另一个

  • get() - 有助于从列表中随机访问元素

  • iterator() - 返回迭代器对象,该对象可用于顺序访问列表的元素

  • set() - 更改列表的元素

  • remove() - 从列表中删除一个元素

  • removeAll() - 从列表中删除所有元素

  • clear() - 从列表中删除所有元素(比removeAll()效率更高)

  • size() - 返回列表的长度

  • toArray() - 将列表转换为数组

  • contains() - 如果列表包含指定的元素,则返回true

List接口的实现

1.实现ArrayList类

java 复制代码
import java.util.List;
import java.util.ArrayList;

public class Main {

    public static void main(String[] args) {
        //使用ArrayList类创建列表
        List<Integer> numbers = new ArrayList<>();

        //将元素添加到列表
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("List: " + numbers);

        //从列表中访问元素
        int number = numbers.get(2);
        System.out.println("访问元素: " + number);

        //从列表中删除元素
        int removedNumber = numbers.remove(1);
        System.out.println("删除元素: " + removedNumber);
    }
}

输出结果

复制代码
List: [1, 2, 3]
访问元素: 3
删除元素: 2

要了解更多信息ArrayList,请访问Java ArrayList

2.实现LinkedList类

java 复制代码
import java.util.List;
import java.util.LinkedList;

 public class Main {

    public static void main(String[] args) {
        //使用LinkedList类创建列表
        List<Integer> numbers = new LinkedList<>();

        //将元素添加到列表
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        System.out.println("List: " + numbers);

        //从列表中访问元素
        int number = numbers.get(2);
        System.out.println("访问元素: " + number);

        //使用indexOf()方法
        int index = numbers.indexOf(2);
        System.out.println("位置3的元素是 " + index);

        //从列表中删除元素
        int removedNumber = numbers.remove(1);
        System.out.println("删除元素: " + removedNumber);
    }
}

输出结果

复制代码
List: [1, 2, 3]
访问元素: 3
位置3的元素是 1
删除元素: 2

Java List 与 Set

List接口和Set接口都继承了Collection接口。 但是,它们之间存在一些差异。

  • List可以包含重复的元素。但是,Set不能有重复的元素。

  • List中的元素以某种顺序存储。但是,Set中的元素以组的形式存储,就像数学中的集合一样。

相关推荐
qq_3692243319 小时前
Windows全系通用!ntdll.dll文件丢失、报错、闪退问题的完整排查与修复教程
windows·dll·dll修复·dll丢失·dll错误
阿米亚波1 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
caimouse1 天前
Reactos 第 10 章 网络操作 — 10.3.1 NIC驱动
网络·windows
初圣魔门首席弟子1 天前
Node.js 详细介绍(知识库版)
windows·qt·node.js·知识库
CHENG-JustDoIt1 天前
AI工具 | 爆火开源项目Odysseus AI 工作台:从项目介绍、部署情况及其使用等多方位分析指南(含详细步骤)
大数据·人工智能·windows·python·ai·开源·github
kingbal1 天前
Windows:flutter环境搭建
windows·flutter
未若君雅裁1 天前
Python 数据容器详解,list、tuple、str、set、dict 到底怎么选
windows·python·list
CodeKwang1 天前
Windows 环境 OCCT 8.0 编译构建及与 Qt6 项目集成
windows·qt·opencascade
我是伪码农1 天前
小兔鲜1-25
linux·服务器·windows
vx-Biye_Design1 天前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis