测试一个例子
@Test
public void ArraylistSubList(){
List<String> money=new ArrayList<String>();
money.add("rmb");
money.add("doller");
money.add("ker");
money.add("jpy");
money.add("thb");
System.out.println("money.size()---- "+money.size());
List<String> other=money.subList(1, 4);
System.out.println(money);
System.out.println("money.size()-----"+money.size());
System.out.println(other);
System.out.println("other.size()----- "+other.size());
other.clear(); //子集合删除之后 原集合照样受影响,反过来修改原集合子集合也受影响。
System.out.println(money);
System.out.println("money.size()-----"+money.size());
System.out.println(other);
System.out.println("other.size()----- "+other.size());
}
------------------------------输出内容如下:
money.size()---- 5
[rmb, doller, ker, jpy, thb]
money.size()-----5
[doller, ker, jpy]
other.size()----- 3
[rmb, thb]
money.size()-----2
[]
other.size()----- 0
由例子得出结论: 子集合删除之后 原集合照样受影响,反过来修改原集合子集合也受影响。子集合是引用了原集合元素的索引。