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 sites = new ArrayList();
sites.add("Google");
sites.add("Runoops");
sites.add("Taobao");
sites.add("Wiki");
System.out.println("网站列表: " + sites);
// 元素位置为1到3
System.out.println("SubList: " + sites.subList(1, 3));
}
}
执行以上程序输出结果为:
网站列表: [Google, Runoops, Taobao, Wiki] SubList: [Runoops, Taobao]
在上面的实例中,我们使用该 subList() 方法获取索引 1 到 3(不包括 3)元素。
将一个动态数组拆分成两个动态数组:
实例
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// 创建一个数组
ArrayList 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()。