亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

精通 Java ArrayList:操作、方法与最佳实践

Java ArrayList 类

发掘 Java ArrayList 全威力:创建、操作、迭代,配合清晰实战示例。

ArrayList 类属于 Java 集合框架,实现 List 接口,提供可变大小数组数据结构。与静态数组不同,ArrayList 随元素增删自动调整容量,是动态数组。

精通 Java ArrayList:操作、方法与最佳实践

ArrayList 与数组对比

传统数组声明时需固定大小,限制灵活性。ArrayList 按需调整大小,实现高效动态数据处理。


创建 ArrayList

使用前导入:

import java.util.ArrayList;

按期望元素类型实例化:

// Integer 类型 ArrayList ArrayList<Integer> intList = new ArrayList<>(); // String 类型 ArrayList ArrayList<String> strList = new ArrayList<>();

注意:泛型不支持基本类型,须用包装类(如 Integer 对应 int)。


示例:创建 ArrayList

import java.util.ArrayList; class Main { public static void main(String[] args){ ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Python"); languages.add("Swift"); System.out.println("ArrayList: " + languages); } }

输出

ArrayList: [Java, Python, Swift]

ArrayList 基本操作

核心操作包括添加、访问、修改、移除元素。下面是各操作简明代码片段。


1. 添加元素

追加单个元素:

ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("C"); languages.add("Python"); System.out.println("ArrayList: " + languages);

输出

ArrayList: [Java, C, Python]

指定索引插入:

languages.add(1, "JavaScript"); languages.add(3, "C++");

批量添加集合元素:

import java.util.ArrayList; import java.util.HashSet; class Main { public static void main(String[] args) { HashSet<String> vowels = new HashSet<>(); vowels.add("a"); vowels.add("e"); vowels.add("i"); ArrayList<String> alphabets = new ArrayList<>(); alphabets.addAll(vowels); System.out.println("ArrayList: " + alphabets); } }

输出

ArrayList: [a, e, i]

2. 访问元素

按索引获取:

ArrayList<String> animals = new ArrayList<>(); animals.add("Cat"); animals.add("Dog"); animals.add("Cow"); String str = animals.get(1); System.out.print("Element at index 1: " + str);

输出

Element at index 1: Dog

按需可用 Iterator 迭代。


3. 修改元素

替换现有元素:

ArrayList<String> languages = new ArrayList<>(); languages.add("Java"); languages.add("Kotlin"); languages.add("C++"); languages.set(2, "JavaScript"); System.out.println("Modified ArrayList: " + languages);

输出

Modified ArrayList: [Java, Kotlin, JavaScript]

4. 移除元素

按索引移除:

ArrayList<String> animals = new ArrayList<>(); animals.add("Dog"); animals.add("Cat"); animals.add("Horse"); String removed = animals.remove(2); System.out.println("Updated ArrayList: " + animals); System.out.println("Removed Element: " + removed);

输出

Updated ArrayList: [Dog, Cat] Removed Element: Horse

clear() 清空所有元素,removeAll() 移除范围元素。


常用 ArrayList 方法

除基本增删改查外,以下方法高频使用:

方法说明
size()返回元素数量。
sort()排序列表。
clone()创建浅拷贝。
contains()检查元素是否存在。
ensureCapacity()预分配空间。
isEmpty()检查列表是否为空。
indexOf()查找首次出现索引。

完整列表参阅官方 ArrayList API。


增强 for 循环迭代

ArrayList<String> animals = new ArrayList<>(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); for (String animal : animals) { System.out.print(animal + ", "); }

输出

Cow, Cat, Dog, 

常见问题

Java ArrayList 与 LinkedList 区别?

ArrayListLinkedList
实现 List 接口实现 List、Queue 和 Deque
单一连续内存块节点含 next/prev 引用
随机访问 O(1)顺序访问 O(n)
动态扩容动态扩容

如何将 ArrayList 转数组?

String[] arr = new String[languages.size()]; languages.toArray(arr);

如何将数组转 ArrayList?

ArrayList<String> list = new ArrayList<>(Arrays.asList(arr));

如何一行代码创建并初始化 ArrayList?

ArrayList<String> list = new ArrayList<>(Arrays.asList("Java", "Python", "C"));

如何将 ArrayList 转字符串?

String str = languages.toString();

如何用 List 接口创建 ArrayList?

List<String> list = new ArrayList<>();

java

  1. 深入理解 Java final 关键字:变量、方法与类的不可变性
  2. Java instanceof 运算符完全指南:用法、继承与接口检查
  3. 精通 Java 继承:核心概念、类型与实战示例
  4. 深入理解 Java 静态嵌套类:用法、差异与实战示例
  5. 精通 Java 匿名内部类:定义、语法与实战示例
  6. Java 单例模式详解:安全实现与使用指南
  7. 精通 Java 反射:运行时检查类、方法与字段
  8. 深入理解 Java Vector:用法、特性及与 ArrayList 的对比
  9. 掌握 Java 集合算法:排序、打乱、搜索与更多实用操作
  10. 掌握 Java ObjectOutputStream:序列化、核心方法与实战示例
  11. 掌握 Java 泛型:构建可复用、类型安全的代码
  12. 掌握 Java 文件操作:java.io 包下的创建、读取、写入与删除