当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/470065.html

相关文章:

  • 【Linux系统】Ubuntu的简单操作
  • 标准日志插件项目【C/C++】
  • SpingBoot原理
  • Cout输出应用举例
  • java的无锁编程和锁机制
  • vue实现富文本编辑器上传(粘贴)图片 + 文字
  • 子集和全排列(深度优先遍历)问题
  • 判断检测框是否在感兴趣区域(ROI)内
  • 正点原子阿尔法ARM开发板-IMX6ULL(九)——关于SecureCRT连接板子上的ubuntu
  • 微信支付Java+uniapp微信小程序
  • 【NOIP提高组】加分二叉树
  • HarmonyOS 相对布局(RelativeContainer)
  • webpack5搭建react脚手架详细步骤
  • 速盾:高防cdn怎么拦截恶意ip?
  • 太阳能面板分割系统:训练自动化
  • C++笔记---位图
  • ABC370
  • C语言[求x的y次方]
  • JavaScript part2
  • HarmonyOS开发 - 本地持久化之实现LocalStorage实例
  • 【C++打怪之路Lv12】-- 模板进阶
  • 第23周Java主流框架入门-SpringMVC 2.RESTful开发风格
  • QT枚举类型转字符串和使用QDebug<<重载输出私有枚举类型
  • 手机柔性屏全贴合视觉应用
  • 《Python游戏编程入门》注-第3章3
  • Netty-TCP服务端粘包、拆包问题(两种格式)
  • centos安装指定版本的jenkins
  • QT 周期性的杀死一个进程(软件),一分钟后自动退出
  • MySQL任意版本安装卸载和数据库原理图绘制
  • 技术成神之路:设计模式(二十三)解释器模式