一、说明
public List<E> subList(int fromIndex, int toIndex){...}
作用:返回包含从索引 fromIndex(包括)到索引toIndex(不包括)元素的List集合。
二、测试
下面是关于subList的一些测试。
首先,创建一个ArrayList对象,并添加一些元素。然后用subList方法获取一个新的集合。
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
List<String> subList = list.subList(0, 2);
1、直接输出
System.out.println("list = " + list);
System.out.println("subList = " + subList);
结果:
2、向subList中添加元素再输出
subList.add("subList");
System.out.println("list = " + list);
System.out.println("subList = " + subList);
结果:
3、 从subList中删除元素再输出
subList.remove(0);
System.out.println("list = " + list);
System.out.println("subList = " + subList);
结果:
4、向list中添加元素再输出
list.add("list");
System.out.println("list = " + list);
System.out.println("subList = " + subList);
结果:
5、从list中删除一个元素后再输出
list.remove("3");
System.out.println("list = " + list);
System.out.println("subList = " + subList);
结果:
6、向list中添加元素,输出list,然后将subList传入ArrayList生成新集合在输出
list.add("list");
System.out.println("list = " + list);
ArrayList<String> strings = new ArrayList<>(subList);
System.out.println("subList = " + strings);
结果:
7、将6稍作改造,在调用ArrayList()前输出subList
list.add("list");
System.out.println("list = " + list);
System.out.println("subList = " + subList);
ArrayList<String> strings = new ArrayList<>(subList);
System.out.println("subList = " + strings);
结果:
三、总结
subList(int fromIndex, int toIndex)方法返回一个返回包含从索引 fromIndex(包括)到索引toIndex(不包括)元素的List集合。在新集合中添加或删除元素时,原集合也会发生相应改变。
但是如果在原集合中删除或添加元素,调用原集合中的方法没问题,当调用subList方法生成的集合的方法时就会产生异常。
————————————————
版权声明:本文为CSDN博主「weixin_44848760」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44848760/article/details/108887289