迭代器总结



        迭代器方法中只有三个 ,且不能执行集合中的很多功能。这种情况下 列表迭代器就解决了这个问题。 List 集合特有的迭代器。ListIterator 是Tterrator的子接口。
在迭代时,不可以通过集合对象的方法操作集合中的元素。因为会发生异常所以在迭代时,只能用迭代器的方法操作元素,可是Iterator的方法是有限的。如果想要其他的操作如添加,修改等,就需要使用其子接口,listIterator. 该接口只能通过List集合的listIterator方法获取。 listIterator中除了增删改查这些没什么好说的了  这里我注意到一点
 hasNext(); 和hasPrevious;一个正向的一个逆向的 ,起初觉得 逆向的那个多余,之后明白 当hasNext正向遍历完后,需要继续遍历的用hasNext遍历是不可以了 因为指针指向最后了 ,这时用hasPrevious 逆向正合适


其他相关笔记

 *Collection
 * |--List:元素是有序的,元素可以重复。因为该集合体系有索引。
 * |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是删除,增加稍慢。线程不同步。
 * |--LinkedList:底层使用的是链表数据结构。特点:查询速度很慢。但是删除,增加很快。
 * |--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。
 * |--Set:元素是无序的(存入和取出的顺序不一定一致),元素不可以重复。
 * |--HashSet:底层数据结构是哈希表
 * HashSet是如何保证元素的唯一性呢?
 * 是通过元素的两个方法,hashCode和equals来完成。
 * 如果元素的HashCode值相同,才会判断equals是否为true
 * 如果元素的HashCode值不同,才会调用equals。
 *
 * 注意,对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashcode和equals方法。
 * |--TreeSet:
 *


 *
 * List: 特有方法。 凡是可以操作角标的方法都是该体系特有的方法。
 * 赠
 * add(index,element);
 * addAll(index,Collection);
 * 删
 * remove(index);
 * 改
 * set(index,element);
 * 查
 * get(index);
 * subList(from,to);
 * listIterator();




你可能感兴趣的:(迭代器总结)