引用数据类型数组里面存储的是对象的地址值,数组可以存基本数据类型和引用数据类型.
集合只能存储引用数据类型,也可以存储基本数据类型,会自动装箱变成对象
Collection是父类接口
c.retainAll(c1),取c与c1的交集,并返回c,若返回C相比原来C有改变 true ,没改变 false
迭代原理,Collection是接口,ArrayList继承父类抽象ArrayList类,而抽象ArrayList类实现了这个接口,ArrayList在父类的基础上改良iterator方法,Iterator it = c.iterator(); c.iterator()调用的是ArrayList中的iterator方法 c.iterator()返回接口Iterator的子类对象 Itr,
it.hasNext(),由Itr来实现.Itr实现迭代
接口的子类必须重写父类的全部抽象方法,方法名,参数列表,返回值类型都要一样.
迭代的时候修改集合出现并发修改异常(exception ConcurrentModificationException),只能通过ListIterator接口内部的add方法添加.不能用List中的方法
编译看左边,运行看右边
并发修改异常,迭代的同时用集合的方法修改集合, 解决办法,用迭代器本身的方法进行修改.
LIstIterator是List接口特有的,