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

相关推荐
Evan东少2 天前
[踩坑]笔记本Ubuntu20.04+NvidiaRTX5060驱动+cuda+Pytorch+ROS/Python实现人脸追踪(环境准备)
1024程序员节
不爱编程的小陈3 天前
C/C++每日面试题
面试·职场和发展·1024程序员节
开开心心就好3 天前
右键菜单管理工具,添加程序自定义名称位置
linux·运维·服务器·ci/cd·docker·pdf·1024程序员节
码农三叔4 天前
(4-2-05)Python SDK仓库:MCP服务器端(5)Streamable HTTP传输+Streamable HTTP传输
开发语言·python·http·大模型·1024程序员节·mcp·mcp sdk
西幻凌云8 天前
初始——正则表达式
c++·正则表达式·1024程序员节
启芯硬件8 天前
电源XL6009E1的dieshot细节分析-芯片设计干货
大数据·经验分享·硬件工程·1024程序员节
一颗青果10 天前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节
yBmZlQzJ13 天前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
yBmZlQzJ13 天前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节