如何在Java中获取ArrayList的子列表?
List接口是一个集合,它存储一系列元素。ArrayList是List接口最流行的实现。列表允许用户精确控制元素在列表中的插入位置。这些元素可以通过索引访问并进行搜索。ArrayList是List接口最常见的实现。
Java List提供了一个subList()方法,该方法根据提供的起始和结束索引返回列表的一部分。在本文中,我们将看到如何使用subList()方法从ArrayList中获取子列表。
语法
List<E> subList(int fromIndex, int toIndex)
注释
返回此列表中指定fromIndex(包含)和toIndex(不包含)之间部分的视图。
如果fromIndex和toIndex相等,则返回的列表为空。
返回的列表由此列表支持,因此返回列表中的非结构性更改会反映在此列表中,反之亦然。
返回的列表支持此列表支持的所有可选列表操作。
参数
fromIndex - 子列表的低端点(包含)。
toIndex - 子列表的高端点(不包含)。
返回值
此列表中指定范围的视图。
抛出异常
IndexOutOfBoundsException - 对于非法的端点索引值 (fromIndex < 0 || toIndex > size || fromIndex > toIndex)
示例1
以下示例显示了如何从列表中获取子列表。
package com.tutorialspoint; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CollectionsDemo { public static void main(String[] args) { List<Integer> list = new ArrayList<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9)); System.out.println("List: " + list); // Get the subList List<Integer> subList = list.subList(3, 9); System.out.println("SubList: " + subList); } }
输出
这将产生以下结果:
List: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] SubList: [3, 4, 5, 6, 7, 8]
示例2
以下示例显示了使用List的subList()方法创建子列表时的副作用。
package com.tutorialspoint; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class CollectionsDemo { public static void main(String[] args) { List<Integer> list = new ArrayList<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9)); System.out.println("List: " + list); // Get the subList List<Integer> subList = list.subList(3, 9); System.out.println("SubList: " + subList); // Clear the sublist subList.clear(); System.out.println("SubList: " + subList); // Original list is also impacted. System.out.println("List: " + list); } }
输出
这将产生以下结果:
List: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] SubList: [3, 4, 5, 6, 7, 8] SubList: [] List: [0, 1, 2, 9]
广告