长春网站建设选择星宿科技,属于我的网页制作平台的是,摄影设计说明200字,临沂网站制作哪家好列表迭代器并不持有当前元素的引用#xff0c;其持有的游标是位于列表连个元素之间。可以通过调用next()或者previous()返回列表中的元素。一个拥有n个元素的列表拥有n1个游标位置#xff0c;示意图如下#xff1a; 注意#xff1a;remove和 set(Object)方法并不是以迭代器… 列表迭代器并不持有当前元素的引用其持有的游标是位于列表连个元素之间。可以通过调用next()或者previous()返回列表中的元素。一个拥有n个元素的列表拥有n1个游标位置示意图如下 注意remove和 set(Object)方法并不是以迭代器的游标为准而是以最后一次调用迭代器的next()或者previous()方法的返回的元素为准。 基础方法 1.boolean hasNext(); 当在迭代器正向遍历仍有可访问的有效元素时则返回true换句话说如果调用next()方法可以返回一个有效元素时则会返回true否则返回false。 2.E next(); 返回迭代器正向访问时的下一个元素并将迭代器游标进行自增操作。我们可以通过循环调用这个方法达到遍历列表中的目的。同时我们也可以调用previous()方法来逆向遍历列表。当我们交替调用next()与previous()时迭代器将返回相同的元素。 3.boolean hasPrevious(); 当迭代器逆向遍历仍有可以访问的有效元素时则返回true。也就是说当调用方法previous()仍然可以返回一个有效元素时则返回true。 4.E previous(); 返回逆向遍历列表的下一个元素并将迭代器的游标进行自减操作。 5.int nextIndex(); 返回下一次调用next()时返回的元素的下标。当列表迭代器到达列表末尾时则会回列表长度。 6.int previousIndex(); 返回下一次掉调用previous()时返回的元素的下标。当列表迭代器到达列表头部时则返回-1。 7.void remove(); 删除最后一次调用next()或者previous()返回的元素。调用该方法有两个注意点 每次调用next()或previous()后仅能调用一次本方法调用本方法前不可调用add(E)方法8.void set(E e); 替换最后一次调用next()或者previous()返回的元素。在调用本方法前不可调用add(E)和remove()方法。 9.void add(E e); 在列表中插入一个新元素。如果next()可以访问有效元素则将元素插入到调用next()方法返回的元素之前。即如果previous()可以访问有效元素则将元素插入到调用previous()方法返回的元素之后。当列表为空时则插入的元素为列表中唯一的元素。新元素的插入位置为当前迭代器指定的游标之前即插入元素后调用next()返回元素不受影响而调用previous()函数则会返回刚刚插入的新元素。调用这个方法后会使调用nextIndex()或previousIndex()的结构都增大1。插入元素前后的示意图如下 转载于:https://www.cnblogs.com/czcys/p/6214422.html