Java 教程

Java 教程 Java 简介 Java 下载安装 Java 入门 Java 语法 Java 注释 Java 变量 Java 数据类型 Java 数据类型转换 Java 运算符 Java 字符串 Java 数学方法 Java 布尔值 Java If...Else Java Switch Java While 循环 Java For 循环 Java Break/Continue Java 数组

Java 方法

Java 方法 Java 方法参数 Java 方法重载 Java 作用域 Java 递归

Java 类库

Java OOP Java 对象和类 Java 类属性 Java 类方法 Java 构造函数 Java 修饰符 Java 封装 Java 包与API Java 继承 Java 多态 Java 内部类 Java 抽象类 Java 接口 Java 枚举 Java 用户输入 Java 日期和时间 Java ArrayList Java LinkedList Java HashMap Java HashSet Java 迭代器 Java 包装类 Java Exceptions Java 正则表达式 Java 线程 Java Lambda

Java 文件处理

Java 文件 Java 创建/写入文件 Java 读取文件 Java 删除文件

Java 如何使用

添加两个数字

Java 参考手册

Java 关键字 Java 字符串方法 Java 数学方法 Java & MongoDB 教程 Java XML 教程

Java 常用包

java.io 包 java.lang 包 java.math 包 java.time 包 java.util 包 java.util.regex 包 java.util.zip 包

Java 各版本参考

Java8 (2014-3-18) Java9 (2017-9-21) Java10 (2018-3-10) Java11 (2018 年 9 月) Java12 (2019 年 3 月) Java13 (2019 年 9 月) Java14 (2020-3-17) Java15 (2020 年 9 月) Java16 (2021 年 3 月)

Java 实例

Java 实例 Java 练习 Java 测验



Java ArrayList 数组列表

Java ArrayList

ArrayList 类是一个可调整大小的 array 数组,可以在java.util包中找到。

Java 中内置数组和ArrayList的区别在于数组的大小不能修改(如果要向数组中添加或删除元素,必须创建一个新的数组)。 而可以随时从ArrayList中添加和删除元素。语法也略有不同:

实例

创建名为carsArrayList对象,该对象将存储字符串:

import java.util.ArrayList; // 导入 ArrayList 类

ArrayList<String> cars = new ArrayList<String>(); // 创建一个 ArrayList 对象

如果您不知道包是什么,请阅读我们的 Java 包 教程。


添加元素

ArrayList 类提供了很多有用的方法,添加元素到 ArrayList 可以使用 add() 方法:

实例

import java.util.ArrayList;

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    System.out.println(cars);
  }
}

运行实例 »


访问元素

访问 ArrayList 中的元素可以使用 get() 方法:

实例

cars.get(0);

运行实例 »

注意: 数组索引从0开始,[0]开头是第一个元素,[1] 是第二个元素。



修改元素

如果要修改 ArrayList 中的元素可以使用 set() 方法

实例

cars.set(0, "Opel");

运行实例 »


删除元素

如果要删除 ArrayList 中的元素可以使用 remove() 方法:

实例

cars.remove(0);

运行实例 »

要删除 ArrayList 中的所有元素,请使用 clear() 方法:

实例

cars.clear();

运行实例 »


计算大小

如果要计算 ArrayList 中的元素数量可以使用 size 方法:

实例

cars.size();

运行实例 »


遍历数组列表

我们可以使用 for 循环遍历ArrayList的元素,并使用 size()方法指定循环应运行的次数:

实例

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (int i = 0; i < cars.size(); i++) {
      System.out.println(cars.get(i));
    }
  }
}

运行实例 »

还可以使用for-each循环遍历ArrayList

实例

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

运行实例 »


其他类型

ArrayList 中的元素实际上是对象。在上面的示例中,我们创建了类型为"String"的元素(对象)。 请记住,Java中的字符串是对象(而不是基元类型)。要使用其他类型,如int,必须指定一个等效的包装类Integer。 对于其他基本类型,请使用:Boolean, Character, Double等等:

实例

创建用于存储数字的ArrayList(添加Integer整数类型的元素):

import java.util.ArrayList;

public class MyClass {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(10);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(25);
    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}

运行实例 »


ArrayList 排序

java.util 包中另一个有用的类是Collections类,它包括用于按字母或数字顺序排序列表的sort()方法:

实例

排序字符串类型的 ArrayList:

import java.util.ArrayList;
import java.util.Collections;  // 导入 Collections 集合类

public class MyClass {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    Collections.sort(cars);  // 排序 cars
    for (String i : cars) {
      System.out.println(i);
    }
  }
}

运行实例 »

实例

排序整数类型的 ArrayList:

对整数的 ArrayList 进行排序:

import java.util.ArrayList;
import java.util.Collections;  // 导入集合类

public class MyClass {
  public static void main(String[] args) {
    ArrayList<Integer> myNumbers = new ArrayList<Integer>();
    myNumbers.add(33);
    myNumbers.add(15);
    myNumbers.add(20);
    myNumbers.add(34);
    myNumbers.add(8);
    myNumbers.add(12);

    Collections.sort(myNumbers);  // 排序 myNumbers

    for (int i : myNumbers) {
      System.out.println(i);
    }
  }
}

运行实例 »