ArrayList想必大家并不陌生,在平时的开发中设计到存储数据时经常会用到,如果想从ArrayList中截取出一部分数据,那就使用SubList方法,但是在使用该方法是也会出现一点问题。具体如下代码分析。
以上代码调用了subList方法后成功截取了1到3的数据,并且删除了第一个数据,但是输出原来数据时,会发现有一个数据也会被删掉。运行结果如下:
观察输出的数据对比,发现guangzhou被删掉,我们想要的结果是截取指定位置的集合后对原来数据不会造成任何的影响,但是这种方式显然已经对原数据造成一定影响,这种方式不可取。
为了达到想要的结果,可以这样修改:
将List<String> srots = lists.subList(1,3)修改为Listsorts = new ArrayList(lists.subList(1, 3));
再次运行后,达到了我们的目的,运行结果如下图: