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

相关推荐
jamison_14 天前
文心一言与 DeepSeek 的竞争分析:技术先发优势为何未能转化为市场主导地位?
人工智能·ai·chatgpt·gpt-3·1024程序员节
NaZiMeKiY5 天前
HTML5前端第六章节
前端·html·html5·1024程序员节
jamison_19 天前
颠覆未来:解锁ChatGPT衍生应用的无限可能(具体应用、功能、付费模式与使用情况)
ai·chatgpt·1024程序员节
NaZiMeKiY14 天前
HTML5前端第七章节
1024程序员节
earthzhang202118 天前
《Python深度学习》第四讲:计算机视觉中的深度学习
人工智能·python·深度学习·算法·计算机视觉·numpy·1024程序员节
明明真系叻1 个月前
2025.3.2机器学习笔记:PINN文献阅读
人工智能·笔记·深度学习·机器学习·1024程序员节·pinn
bitenum1 个月前
【C++/数据结构】队列
c语言·开发语言·数据结构·c++·青少年编程·visualstudio·1024程序员节
IT学长编程1 个月前
计算机毕业设计 基于SpringBoot的智慧社区管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·后端·毕业设计·课程设计·论文笔记·1024程序员节
qq_382391331 个月前
WPF框架学习
学习·wpf·1024程序员节
✿ ༺ ོIT技术༻2 个月前
Linux:TCP和守护进程
linux·运维·服务器·网络·tcp/ip·1024程序员节