标签:现在 引用 查找 才有 容器 rem 有序 需要 执行
2020-05-26 09:19:23
1.编译器简单的将for each 循环翻译为带有迭代器的循环
2.使用迭代器,元素被访问的顺序取决于集合类型
3.Java迭代器的查找操作与位置变更是紧密相连的,查找一个元素的唯一方法是调用next,而在执行查找操作的同时,迭代器的位置随着向前移动,因此,应该将Java迭代器认为是位于两个元素之间,当调用next是,迭代器就越过下一个元素,并返回刚刚越过那个元素的引用
4.如果想要删除指定位置上的元素,仍然需要越过这个元素,更重要的是,对next方法和remove方法的调用具有相互依赖性
5.只有对自然有序的集合使用迭代器添加元素才有实际意义
6.LinkedIterator迭代器的add方法会在迭代器位置之前添加一个新对象
7.如果某个迭代器修改集合时,另一个迭代器对其进行遍历,一定会出现混乱的状况,例如,一个迭代器指向另一个迭代器刚刚删除的元素的前面,现在这个迭代器就是无效的,并且不应该在使用;为了避免发生异常,有以下简单规则,可以根据需要给容器附加许多迭代器,但是这些迭代器只能读取列表,另外,在单独附加一个既能读又能写的迭代器
8.使用链表的唯一理由是尽可能地减少在列表中插入或删除元素所付出的代价
9.建议避免使用以整数索引表示链表中位置地所有方法,如果需要对集合进行随机访问,就使用数组或ArrayList,而不要使用链表
10.随机访问,使用一个整数索引来访问
11.java链表数据结构实际上是一个双向链表
12.
标签:现在 引用 查找 才有 容器 rem 有序 需要 执行
原文地址:https://www.cnblogs.com/gb12138/p/12964331.html