泛型的优点 * a: 提高程序的安全性
* b: 将运行期问题转移到了编译期
* c: 省去了类型强转的麻烦
* d: 优化了程序设计
并发修改异常注意事项
迭代的常规用法中我们要尽量避免在迭代过程中为集合添加数据。否则会报错,原因是Java抛出了并发修改异常。
* 即在使用Iterator和增强for循环时,均避免类似操作。
* 在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生ConcurrentModificationException异常.
所以在使用迭代器时,只能用迭代器的方法操作元素,可是Iterator(迭代器)的方法是有限的,
只能对元素进行判断(hasNext())、取出(next())、删除(remove())的操作,如果想要其他的操作如添加,修改等,
就需要使用其子接口,ListIterator。该接口只能通过List集合的listIterator()方法获取.
并发修改异常:增删不行,而修改行
集合和迭代器同时持有对象的引用(持有的对象元素的索引),当使用迭代器迭代时,使用集合操作元素,迭代器并不知道,所以会抛出并发修改异常
|
|