现在位置: 首页 > Java 教程 > 正文

Java ArrayList subList() 方法

Java ArrayList Java ArrayList

subList() 方法用于截取并返回动态数组中的一部分。

subList() 方法的语法为:

arraylist.subList(int fromIndex, int toIndex)

注:arraylist 是 ArrayList 类的一个对象。

参数说明:

  • fromIndex - 截取元素的起始位置,包含该索引位置元素
  • toIndex - 截取元素的结束位置,不包含该索引位置元素

返回值

返回给定的动态数组截取的部分。

如果fromIndex 小于 0 或大于数组的长度,则抛出 IndexOutOfBoundsException 的异常

如果 fromIndex 大于 toIndex 的值则抛出 IllegalArgumentException 异常。

注意:该动态数组包含的元素起始于 fromIndex 位置,直到元素索引位置为 toIndex-1,而索引位置 toIndex 的元素并不包括。

实例

从动态数组中截取子列表:

实例

import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // 创建一个动态数组
        ArrayList<String> sites = new ArrayList<>();

        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Wiki");
        System.out.println("网站列表: " + sites);

        // 元素位置为1到3
        System.out.println("SubList: " + sites.subList(1, 3));
    }
}

执行以上程序输出结果为:

网站列表: [Google, Runoob, Taobao, Wiki]
SubList: [Runoob, Taobao]

在上面的实例中,我们使用该 subList() 方法获取索引 1 到 3(不包括 3)元素。

将一个动态数组拆分成两个动态数组:

实例

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // 创建一个数组
        ArrayList<Integer> ages = new ArrayList<>();

        //往数组中添加一些元素
        ages.add(10);
        ages.add(12);
        ages.add(15);
        ages.add(19);
        ages.add(23);
        ages.add(34);
        System.out.println("年龄列表: " + ages);

        // 18 岁以下
        System.out.println("18 岁以下: " + ages.subList(0, 3));

        // 18 岁以上
        System.out.println("18 岁以上: " + ages.subList(3, ages.size()));
    }
}

执行以上程序输出结果为:

年龄列表: [10, 12, 15, 19, 23, 34]
18 岁以下: [10, 12, 15]
18 岁以上: [19, 23, 34]

在上面的实例中,我们创建了一个名为 ages 的数组,subList() 方法将该数组分为两个数组:年龄在 18岁以下和年龄在 18 岁以上。

请注意,我们已经使用 ages.size() 方法获取该数组的长度。要了解有关 size() 方法的更多信息,请访问 Java ArrayList size()。

Java ArrayList Java ArrayList