快速删除List中的数据

快速删除List中的数据

List<E>subList(int fromIndex,int toIndex),该方法返回原有集合的从fromIndex到toIndex之间的一部分数据,包含fromIndex,不包含toIndex,组成一个新的集合,同时这两个集合之间有关联。

使用中问题:

1:如果对原来的list和返回的list做不涉及到list的大小的修改,都会影响到彼此对方。(非结构性修改)

2:如果改变原来的list的大小,不包括返回的子list导致的改变。父list的修改会导致返回子list的失效。(结构性修改)

证实:

问题一:非结构性修改

原始数据
image
parentList返回值
image
subList()方法截取
image
截取后修改子元素,父集合也会跟着改变。

问题二:结构性修改
1.1 子list操作-结构性修改

image
sonlist发生结构性修改(sonlist.add("new 3"))后,父list也跟着改变。

1.2 父list操作-结构性修改

image
parentList发生结构性改变(parentList.add(5))后,子list会抛出异常。

list.subList(from,to).clear

处理list中的数据,如果部分数据不再需要,可以用clear()清除。

阅读 110

推荐阅读