java-实例化一个List,然后添加数据的方法详解

在Java中,实例化一个 `List` 并向其中添加数据非常简单。`List` 是一个接口,因此我们通常使用它的常见实现类 `ArrayList` 或 `LinkedList`。以下是一些常见的操作方法:

1. 使用 `ArrayList` 实例化并添加数据

```java

import java.util.ArrayList;

import java.util.List;

public class Main {

public static void main(String[] args) {

// 实例化一个ArrayList

List<String> list = new ArrayList<>();

// 添加数据

list.add("Apple");

list.add("Banana");

list.add("Orange");

// 打印List中的数据

System.out.println(list);

}

}

```

2. 使用 `Arrays.asList()` 创建不可变的 `List`

```java

import java.util.Arrays;

import java.util.List;

public class Main {

public static void main(String[] args) {

// 使用Arrays.asList创建List并添加元素

List<String> list = Arrays.asList("Apple", "Banana", "Orange");

// 打印List中的数据

System.out.println(list);

}

}

```

> **注意**:使用 `Arrays.asList()` 创建的 `List` 是固定大小的,不能添加或删除元素。

3. 使用 `List.of()` (Java 9 及以上版本)

```java

import java.util.List;

public class Main {

public static void main(String[] args) {

// 使用List.of创建不可变的List

List<String> list = List.of("Apple", "Banana", "Orange");

// 打印List中的数据

System.out.println(list);

}

}

```

> **注意**:`List.of()` 创建的 `List` 也是不可变的,不能添加或删除元素。

4. 使用 `LinkedList` 实例化并添加数据

```java

import java.util.LinkedList;

import java.util.List;

public class Main {

public static void main(String[] args) {

// 实例化一个LinkedList

List<String> list = new LinkedList<>();

// 添加数据

list.add("Apple");

list.add("Banana");

list.add("Orange");

// 打印List中的数据

System.out.println(list);

}

}

```

总结:

  • **`ArrayList`**:适合随机访问场景,底层是动态数组实现。

  • **`LinkedList`**:适合频繁的插入、删除操作,底层是双向链表实现。

  • **`Arrays.asList()` 和 `List.of()`**:适合创建不可变的列表,不能修改。

这些都是在Java中实例化 `List` 并添加数据的常见方法。

相关推荐
尘觉1 天前
创作 1024 天|把热爱写成长期主义
数据库·1024程序员节
写点什么呢2 天前
Word使用记录
word·1024程序员节
开开心心就好2 天前
内存清理工具点击清理,自动间隔自启
linux·运维·服务器·安全·硬件架构·材料工程·1024程序员节
开开心心就好3 天前
内存清理工具开源免费,自动优化清理项
linux·运维·服务器·python·django·pdf·1024程序员节
张萌杰6 天前
深度学习的基础知识(常见名词解释)
人工智能·深度学习·机器学习·1024程序员节
开开心心就好7 天前
免费无广告卸载工具,轻便安全适配全用户
linux·运维·服务器·网络·安全·启发式算法·1024程序员节
开开心心就好8 天前
图片格式转换工具,右键菜单一键转换简化
linux·运维·服务器·python·django·pdf·1024程序员节
徐子童10 天前
网络协议---TCP协议
网络·网络协议·tcp/ip·面试题·1024程序员节
扫地的小何尚12 天前
NVIDIA RTX PC开源AI工具升级:加速LLM和扩散模型的性能革命
人工智能·python·算法·开源·nvidia·1024程序员节
数据皮皮侠AI13 天前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节