在本教程中,我们将了解如何从现有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
)。