List<E> subList(int fromIndex, int toIndex);
返回数组中下标范围为[fromIndex, toIndex)的列表。
- 当fromIndex==toIndex==数组长度时,返回空列表。
- 当index>数组长度时,抛出IndexOutOfBoundsException。
- 当fromIndex>toIndex时,抛出IllegalArgumentException。
使用此方法要注意的是,对原来的list和返回的list做修改,都会影响到彼此对方。
- 如果改变了返回的子list大小,那么原来的list的大小也会发生变化;
- 如果发生改变了原来的list大小,那么返回的子list语义上将会是undefined。在AbstractList(ArrayList的父类)中,undefined的具体表现形式是抛出一个ConcurrentModificationException。
因此,如果你在调用了sublist返回了子list之后,如果修改了原list的大小,那么之前产生的子list将会失效,变得不可使用。