在本教程中,我们将了解如何从现有ArrayList获取子列表。我们将使用ArrayList类的subList方法来完成它。
List subList(int fromIndex, int toIndex)
这里fromIndex是包容性的,toIndex是独占的。关于这种方法,我在本文末尾分享了一些重要的观点。
从ArrayList获取子列表的示例
以下示例中的注意事项:
subList方法返回一个列表,因此将子列表存储在另一个ArrayList中,我们必须以与下面示例中相同的方式对返回值进行类型转换。另一方面,如果我们将返回的子列表存储到列表中,则无需键入转换(请参阅示例)。
package beginnersbook.com;import java.util.ArrayList;import java.util.List;public class SublistExample { public static void main(String a[]){ ArrayList<String> al = new ArrayList<String>(); //Addition of elements in ArrayList al.add("Steve"); al.add("Justin"); al.add("Ajeet"); al.add("John"); al.add("Arnold"); al.add("Chaitanya"); System.out.println("Original ArrayList Content: "+al); //Sublist to ArrayList ArrayList<String> al2 = new ArrayList<String>(al.subList(1, 4)); System.out.println("SubList stored in ArrayList: "+al2); //Sublist to List List<String> list = al.subList(1, 4); System.out.println("SubList stored in List: "+list); }}
输出:
Original ArrayList Content: [Steve, Justin, Ajeet, John, Arnold, Chaitanya]SubList stored in ArrayList: [Justin, Ajeet, John]SubList stored in List: [Justin, Ajeet, John]
注意:
如果指定的索引超出了ArrayList的范围(fromIndex > 0 || toIndex < size),则subList方法抛出IndexOutOfBoundsException。
IllegalArgumentException – 如果起始索引大于终点索引(fromIndex < toIndex)。
