Java ArrayList subList() 使用方法及示例 - Java教程

由网友 大卫 发布 阅读 27

Java ArrayList subList() 使用方法及示例 - Java教程

Java ArrayList 方法

Java ArrayList subList()方法提取一部分arraylist并将其返回。

subList()方法的语法为:

arraylist.subList(int fromIndex, int toIndex)

subList()参数

subList()方法有两个参数。

  • fromIndex - 从中提取元素的起始位置

  • toIndex - 提取元素的结束位置

subList()返回值

subList()方法从给定的arraylist返回arraylist的一部分。

  • 如果fromIndex 小于 0 或 toIndex 大于 arraylist的大小,则抛出IndexOutOfBoundsException

  • 如果fromIndex 大于 toIndex,则抛出IllegalArgumentException。

注意:arraylist的一部分包含从处开始fromIndex并延伸到处的元素toIndex-1。也就是说,toIndex不包含元素at 。

使用ArrayList subList()方法访问部分arraylist
ArrayList subList()的工作

示例1:从ArrayList获取一个子列表

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        //创建 ArrayList
        ArrayList<String> languages = new ArrayList<>();

        // 向ArrayList添加一些元素
        languages.add("JavaScript");
        languages.add("Java");
        languages.add("Python");
        languages.add("C");
        System.out.println("ArrayList: " + languages);

        // 元素从1到3
        System.out.println("SubList: " + languages.subList(1, 3));
    }
}

输出结果

ArrayList: [JavaScript, Java, Python, C]
SubList: [Java, Python]

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

注意:如果您想知道如何获取指定元素的索引,请访问Java ArrayList indexOf()

示例2:将单个ArrayList拆分为两个ArrayList

import java.util.ArrayList;

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

        //向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的ArrayList。在这里,我们已使用subList()方法将arraylist分为两个arraylist:年龄在18岁以下年龄在18岁以上

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

Java ArrayList 方法

Java ArrayList removeRange() Java ArrayList iterator()