java 如何截取list
截取 List 的方法
在 Java 中,截取 List 可以通过多种方式实现,以下是几种常见的方法:
使用 subList 方法
List 接口提供了 subList(int fromIndex, int toIndex) 方法,可以截取指定范围的子列表。注意,fromIndex 是包含的,而 toIndex 是不包含的。
List<String> originalList = Arrays.asList("A", "B", "C", "D", "E");
List<String> subList = originalList.subList(1, 4); // 截取索引 1 到 3 的元素
System.out.println(subList); // 输出 [B, C, D]
使用 Stream API
通过 Stream 的 skip 和 limit 方法可以灵活地截取 List 的部分元素。
List<String> originalList = Arrays.asList("A", "B", "C", "D", "E");
List<String> subList = originalList.stream()
.skip(1) // 跳过前 1 个元素
.limit(3) // 截取 3 个元素
.collect(Collectors.toList());
System.out.println(subList); // 输出 [B, C, D]
使用循环手动截取
通过循环遍历原始 List 并手动添加到新的 List 中,可以实现截取功能。

List<String> originalList = Arrays.asList("A", "B", "C", "D", "E");
List<String> subList = new ArrayList<>();
for (int i = 1; i < 4; i++) {
subList.add(originalList.get(i));
}
System.out.println(subList); // 输出 [B, C, D]
注意事项
subList返回的是原始 List 的视图,对子列表的修改会影响原始 List。如果需要独立的子列表,可以创建一个新的 List:List<String> subList = new ArrayList<>(originalList.subList(1, 4));- 使用
subList时需确保索引范围有效,否则会抛出IndexOutOfBoundsException。
以上方法可以根据具体需求选择合适的方式截取 List。






