java-实例化一个List,然后添加数据的方法详解

ops/2024/10/25 5:46:13/

在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.ppmy.cn/ops/128254.html

相关文章

玫瑰花HTML源码

HTML源码 <pre id"tiresult" style"font-size: 9px; background-color: #000000; font-weight: bold; padding: 4px 5px; --fs: 9px;"><b style"color:#000000">0010000100000111101110110111100010000100000100001010111111100110…

NORDIC NPM1300是一款高度集成的电源管理集成电路

nPM1300是一款高度集成的电源管理集成电路(PMIC)&#xff0c;适用于可充电应用。它设计用于与nRF52、nRF53或 nRF54系列系统芯片(SoC)和nRF91系列系统封装(SiP)兼容&#xff0c;用于开发低功耗无线解决方案。 nPM1300 具有几个可以通过专用组件实现的电源和系统管理功能。通过…

【Qt】控件——Qt控件的介绍、QWidget的介绍、QWidget的属性、QWidget的函数

文章目录 Qt1. 控件的概念2. QWidgetenabledgeometrywindowTitlewindowIconwindowOpacitycursorfonttoolTiptoolTipDuringstyleSheet Qt 1. 控件的概念 Widget 是 Qt 中的核心概念。英文原义是 “小部件”&#xff0c;我们此处也把它翻译为 “控件”。控件是构成一个图形化界面…

长城坦克正式公布全新越野架构Hi4-Z,开启越野新时代

10月22日&#xff0c;“何为越野”长城坦克秋季技术发布会在中国虎克之路落下帷幕。本次发布会坦克品牌再添全新越野新能源架构&#xff0c;正式发布纵置双电机混联架构——Hi4-Z。 发布会上&#xff0c;长城汽车还首次公开了越野分级企业标准&#xff0c;为用户提供选车参考&…

演示:基于WPF的DrawingVisual开发的高刷新率示波器

一、目的&#xff1a;分享一个基于WPF的DrawingVisual开发的高刷新率示波器 二、效果演示 特此说明&#xff1a;由于Gif录制工具帧率不够&#xff0c;渲染60帧用了4.6秒&#xff0c;平均帧率在12Hz左右&#xff0c;所以展示效果不好&#xff0c;想要看好些的效果可以看文章下面…

C++(标准输入输出流、命名空间、string字符串、引用)

C特点及优势 &#xff08;1&#xff09;实现了面向对象&#xff0c;在高级语言中&#xff0c;处理运行速度是最快&#xff1b; &#xff08;2&#xff09;非常灵活&#xff0c;功能非常强大&#xff0c;相对于C的指针优势&#xff0c;C的优势为性能和类层次结构&#x…

java集合进阶篇-《HashSet和LinkedHashSet详解》

个人主页→VON 收录专栏→java从入门到起飞 目录 ​编辑 一、前言 二、简要概述 三、Set集合 四、HashSet集合 五、LinkedHashSet集合 一、前言 HashSet集合和LinkHashSet集合都是Set集合的分支集合&#xff0c;语法大致相同。这些众多的集合虽然许多地方都十分相近&…

Unity3D 自动化资源打AB包详解

在Unity3D开发中&#xff0c;AssetBundles&#xff08;简称AB包&#xff09;是一种将资源&#xff08;如模型、纹理、音频等&#xff09;打包成单独文件的方法&#xff0c;这些文件可以在运行时从服务器下载并加载到游戏中。自动化资源打包成AB包可以显著提高开发效率&#xff…