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` 并添加数据的常见方法。

相关推荐
liguojun202512 小时前
智慧破局:重构体育场馆的运营与体验新生态
java·大数据·人工智能·物联网·重构·1024程序员节
Yupureki2 天前
《算法竞赛从入门到国奖》算法基础:入门篇-前缀和
c语言·数据结构·c++·算法·1024程序员节
CoderYanger2 天前
动态规划算法-01背包问题:50.分割等和子集
java·算法·leetcode·动态规划·1024程序员节
CoderYanger2 天前
动态规划算法-两个数组的dp(含字符串数组):48.最长重复子数组
java·算法·leetcode·动态规划·1024程序员节
金融小师妹2 天前
美联储议息夜:基于多智能体决策分歧模型的“鹰派降息”推演
人工智能·深度学习·1024程序员节
金融小师妹2 天前
基于NLP政策文本分析与多智能体博弈模拟的FOMC决策推演:“美联储传声筒”下的利率路径分歧
大数据·人工智能·深度学习·1024程序员节
打码人的日常分享3 天前
IPD项目质量体系管理方案
大数据·运维·人工智能·信息可视化·1024程序员节
CoderYanger4 天前
动态规划算法-两个数组的dp(含字符串数组):42.不相交的线
java·算法·leetcode·动态规划·1024程序员节
CoderYanger4 天前
动态规划算法-两个数组的dp(含字符串数组):43.不同的子序列
java·算法·leetcode·动态规划·1024程序员节
CoderYanger5 天前
动态规划算法-两个数组的dp(含字符串数组):41.最长公共子序列(模板)
java·算法·leetcode·动态规划·1024程序员节