java.util.ArrayList.subList() 方法返回此 List 之间 fromIndex(含)之间的部分的视图,和 toIndex,独占。 (如果 fromIndex 和 toIndex 相等,则返回的 List 为空。)返回的 List 受此 List 支持,因此返回的 List 中的更改会反映在此 List 中,反之亦然。返回的List支持该List支持的所有可选List操作。
语法
public List<E> subList(int fromIndex, int toIndex)
这里,E是容器维护的元素类型。
参数
fromIndex | 指定subList的低端点(含)。 |
toIndex | 指定subList的高端点(不包括)。 |
返回值
返回此列表中指定范围的视图。
异常
- 抛出IndexOutOfBoundsException,如果端点索引值超出范围 (fromIndex < 0 || toIndex > size)
- 如果端点索引无序 (fromIndex > toIndex),则抛出 IllegalArgumentException
示例:
在下面的示例中,java.util.ArrayList.subList() 方法返回给定列表的一部分。
import java.util.*;
public class MyClass {
public static void main(String[] args) {
//创建一个ArrayList
ArrayList<Integer> ArrList = new ArrayList<Integer>();
//填充ArrayList
ArrList.add(10);
ArrList.add(20);
ArrList.add(30);
ArrList.add(40);
ArrList.add(50);
ArrList.add(60);
ArrList.add(70);
//打印ArrayList
System.out.println("ArrList contains: "+ ArrList);
//创建ArrayList的部分视图
List sublist = ArrList.subList(2, 5);
//打印子列表
System.out.println("sublist contains: "+ sublist);
}
}
上述代码的输出将是:
ArrList contains: [10, 20, 30, 40, 50, 60, 70]
sublist contains: [30, 40, 50]