Java 开发 - List subList 方法
2026/8/4 7:09:31 网站建设 项目流程

List subList 方法

1、基本介绍
  • subList 方法用于获取原列表的一个视图,而不是创建一个新的独立列表
List<E>subList(intfromIndex,inttoIndex);
参数说明
fromIndex起始索引(包含)
toIndex结束索引(不包含)
2、基本使用
List<String>list=newArrayList<>(Arrays.asList("A","B","C","D","E"));List<String>sub=list.subList(1,4);System.out.println(sub);
# 输出结果 [B, C, D]
3、核心特性
  • 对子列表的修改(增删改)会直接影响原列表
List<String>list=newArrayList<>(Arrays.asList("A","B","C","D","E"));System.out.println(list);List<String>sub=list.subList(1,4);sub.set(0,"X");System.out.println(list);sub.add("F");System.out.println(list);
# 输出结果 [A, B, C, D, E] [A, X, C, D, E] [A, X, C, D, F, E]
4、注意事项
  • 对原列表进行了结构性修改(增加或删除元素,不包括修改元素值),那么子列表会变得不可用
List<String>list=newArrayList<>(Arrays.asList("A","B","C","D","E"));List<String>sub=list.subList(1,4);list.set(1,"BB");try{System.out.println(sub.get(0));}catch(Exceptione){e.printStackTrace();}list.add("F");try{System.out.println(sub.get(0));}catch(Exceptione){e.printStackTrace();}try{System.out.println(sub.size());}catch(Exceptione){e.printStackTrace();}
# 输出结果 BB java.util.ConcurrentModificationException ... java.util.ConcurrentModificationException ...
5、实例实操
  • 在原 List 上操作(不创建新对象)只保留前 5 个元素
List<String>list=newArrayList<>();for(inti=1;i<=10;i++){list.add("元素"+i);}System.out.println("原列表: "+list);if(list.size()>5){list.subList(5,list.size()).clear();}System.out.println("截取后: "+list);
# 输出结果 原列表: [元素1, 元素2, 元素3, 元素4, 元素5, 元素6, 元素7, 元素8, 元素9, 元素10] 截取后: [元素1, 元素2, 元素3, 元素4, 元素5]

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询