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

相关推荐
CoderYanger8 小时前
优选算法-优先级队列(堆):75.数据流中的第K大元素
java·开发语言·算法·leetcode·职场和发展·1024程序员节
CoderYanger9 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
CoderYanger1 天前
优选算法-队列+宽搜(BFS):72.二叉树的最大宽度
java·开发语言·算法·leetcode·职场和发展·宽度优先·1024程序员节
CoderYanger1 天前
优选算法-字符串:63.二进制求和
java·开发语言·算法·leetcode·职场和发展·1024程序员节
CoderYanger2 天前
优选算法-栈:67.基本计算器Ⅱ
java·开发语言·算法·leetcode·职场和发展·1024程序员节
讨厌下雨的天空2 天前
网络基础
网络·1024程序员节
金融小师妹3 天前
基于NLP语义解析的联储政策信号:强化学习框架下的12月降息概率回升动态建模
大数据·人工智能·深度学习·1024程序员节
mjhcsp3 天前
C++ 动态规划(Dynamic Programming)详解:从理论到实战
c++·动态规划·1024程序员节
金融小师妹4 天前
基于机器学习框架的上周行情复盘:非农数据与美联储政策信号的AI驱动解析
大数据·人工智能·深度学习·1024程序员节
渣渣盟4 天前
Flink分布式文件Sink实战解析
分布式·flink·scala·1024程序员节