如何在 Java 中创建 ArrayList 列表?

简介: 【8月更文挑战第23天】

简介

ArrayList 是 Java 中一个常用的集合框架类,用于存储元素的列表。它是一个动态数组,可以自动增加或减少其大小以适应元素数量的变化。以下是详细的步骤,介绍如何创建 ArrayList 列表:

1. 使用 ArrayList 构造函数

我们可以使用 ArrayList 构造函数创建一个空 ArrayList。该构造函数不带任何参数。

示例:

import java.util.ArrayList;

public class Example {
   
    public static void main(String[] args) {
   
        ArrayList<String> list = new ArrayList<>();
    }
}

2. 使用 Arrays.asList() 方法

我们可以使用 Arrays.asList() 方法从现有数组创建 ArrayList。该方法返回一个固定大小的 ArrayList,其中包含数组中的元素。

示例:

import java.util.ArrayList;
import java.util.Arrays;

public class Example {
   
    public static void main(String[] args) {
   
        String[] array = {
   "Apple", "Banana", "Orange"};
        ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
    }
}

3. 使用 Collections.singletonList() 方法

如果我们只想要一个包含单个元素的 ArrayList,我们可以使用 Collections.singletonList() 方法。该方法返回一个只包含指定元素的固定大小的 ArrayList。

示例:

import java.util.ArrayList;
import java.util.Collections;

public class Example {
   
    public static void main(String[] args) {
   
        ArrayList<String> list = new ArrayList<>(Collections.singletonList("Apple"));
    }
}

4. 从另一个 ArrayList 创建 ArrayList

我们可以使用 ArrayList 构造函数并传递另一个 ArrayList 作为参数来创建 ArrayList。这将创建一个包含另一个 ArrayList 中所有元素的新 ArrayList。

示例:

import java.util.ArrayList;

public class Example {
   
    public static void main(String[] args) {
   
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("Apple");
        list1.add("Banana");
        list1.add("Orange");

        ArrayList<String> list2 = new ArrayList<>(list1);
    }
}

5. 使用 Stream API

Java 8 及更高版本提供了 Stream API,我们可以使用它来创建 ArrayList。我们可以使用 collect() 方法将 Stream 转换为 ArrayList。

示例:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Example {
   
    public static void main(String[] args) {
   
        List<String> list = Arrays.asList("Apple", "Banana", "Orange")
                .stream()
                .collect(Collectors.toCollection(ArrayList::new));
    }
}

结论

有五种方法可以在 Java 中创建 ArrayList 列表:

  • 使用 ArrayList 构造函数
  • 使用 Arrays.asList() 方法
  • 使用 Collections.singletonList() 方法
  • 从另一个 ArrayList 创建 ArrayList
  • 使用 Stream API

选择哪种方法取决于所需的功能、性能和代码简洁性。

目录
相关文章
|
5月前
|
人工智能 安全 JavaScript
Java ArrayList:动态数组
本文探讨Java中的数组,对比C/C++、JS/PHP/Python等语言的数组特性。文章分析了Java数组的定义、创建方式及其规范,指出其优缺点。Java数组作为引用类型,在堆上分配内存,支持动态大小,避免了C/C++中裸数组的常见问题(如越界访问)。然而,Java数组也存在性能瓶颈和设计缺陷,例如运行时的安全检查影响速度,无法创建超大数组或泛型数组,且多线程场景下缺乏同步机制。作者建议在实际开发中用集合替代数组以规避这些问题。
119 1
|
3月前
|
Java 索引
Java ArrayList中的常见删除操作及方法详解。
通过这些方法,Java `ArrayList` 提供了灵活而强大的操作来处理元素的移除,这些方法能够满足不同场景下的需求。
387 30
|
7月前
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList&lt;&gt;()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
376 1
Java 中数组Array和列表List的转换
|
7月前
|
人工智能 JSON Java
列表结构与树结构转换分析与工具类封装(java版)
本文介绍了将线性列表转换为树形结构的实现方法及工具类封装。核心思路是先获取所有根节点,将其余节点作为子节点,通过递归构建每个根节点的子节点。关键在于节点需包含 `id`、`parentId` 和 `children` 三个属性。文中提供了两种封装方式:一是基于基类 `BaseTree` 的通用工具类,二是使用函数式接口实现更灵活的方式。推荐使用后者,因其避免了继承限制,更具扩展性。代码示例中使用了 Jackson 库进行 JSON 格式化输出,便于结果展示。最后总结指出,理解原理是进一步优化和封装的基础。
205 0
|
存储 算法 Java
Arraylist 在 Java 中能容纳多少个元素?
【8月更文挑战第23天】
363 0
|
Java
如何在 Java 中将 Arraylist 添加到数组?
【8月更文挑战第23天】
275 0
|
存储 Java
|
11月前
|
Java 索引 容器
Java ArrayList扩容的原理
Java 的 `ArrayList` 是基于数组实现的动态集合。初始时,`ArrayList` 底层创建一个空数组 `elementData`,并设置 `size` 为 0。当首次添加元素时,会调用 `grow` 方法将数组扩容至默认容量 10。之后每次添加元素时,如果当前数组已满,则会再次调用 `grow` 方法进行扩容。扩容规则为:首次扩容至 10,后续扩容至原数组长度的 1.5 倍或根据实际需求扩容。例如,当需要一次性添加 100 个元素时,会直接扩容至 110 而不是 15。
378 4
Java ArrayList扩容的原理
|
11月前
|
存储 Java 索引
Java中的数据结构:ArrayList和LinkedList的比较
【10月更文挑战第28天】在Java编程世界中,数据结构是构建复杂程序的基石。本文将深入探讨两种常用的数据结构:ArrayList和LinkedList,通过直观的比喻和实例分析,揭示它们各自的优势与局限,帮助你在面对不同的编程挑战时做出明智的选择。
|
Java
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。
129 2
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用