Java ArrayList subList() 方法

定义和用法

subList() 方法返回一个新的列表(称为子列表),该列表包含原列表中两个索引之间的元素。

注意:最后一个索引处的元素不包含在子列表中。

注意:子列表是原列表的一个视图,这意味着更改子列表也会更改原列表。

相关页面

教程:Java 数组

教程:Java ArrayList

实例

例子 1

从一个列表中获取子列表:

import java.util.ArrayList;

public class Main {
  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.subList(1, 3) ); // 输出: [BMW, Ford]
  }
}

亲自试一试

例子 2

通过更改子列表来更改原列表:

import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    ArrayList<String> cars = new ArrayList<String>();
    cars.add("Volvo");
    cars.add("BMW");
    cars.add("Ford");
    cars.add("Mazda");
    
    List<String> sublist = cars.subList(1, 3);
    sublist.set(0, "Toyota"); // 更改子列表的第一个元素
    
    System.out.println(cars); // 输出: [Volvo, Toyota, Ford, Mazda]
  }
}

亲自试一试

语法

public List sublist(int start, int end)

参数

参数 描述
start 必需。子列表开始的索引。
end 必需。子列表结束的索引。此位置的元素不包含在子列表中。

技术细节

返回: 包含列表中元素的新 List
抛出:
  • IndexOutOfBoundsException - 如果任一索引小于零或大于列表的大小。
  • IllegalArgumentException - 如果结束索引小于开始索引。