Java ListIterator关于逆向迭代器的问题?
    List list=new ArrayList();
    list.add(new Student("list1",16));
    list.add(new Studetn("list2",17));
    ListIterator it=list.ListIterator();
    //hasNext()返回的值
    System.out.println(it.hasNext());
    //正向遍历列表
    while(it.hasNext()){
         Student stu=(Student)it.next();
            if(stu.getName().equals("list1"))
                it.add(new Student("list2",17));
                System.out.println(stu);
    }

    /*
        it.add(new Student("list4"),19);
        System.out.println(it.hasPrevious());
    */
    //逆向遍历列表
    while(it.hasPrevious){
         Student stu=(Student)it.previous();
                System.out.println(stu);
    }

这段代码,运行结果为:

true
Student [name=list1,age=16]
Student [name=list2,age=17]
Student [name=list3,age=18]
//如果保留那段注释,程序到这里就结束了
//如果去掉注释,那么
true
Student [name=list4,age=19]

所以为什么正向迭代返回true,逆向需要再用迭代器add一次后才可以返回
true

0

查看全部2条回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SORT的逆序,和Listiterator逆向迭代
iterator只能向前迭代 List还额外提供了一个listIterator()方法,该方法返回一个ListIterator对象,ListIterator接口继承了Iterator接口,ListIterator比Iterator增加了向后迭代的功能 不过在使用ListIterator迭代时,开始也需要正向迭代,然后在倒序迭代 public class Test { pub
List逆向遍历、反向遍历--Iterator详解
List逆向遍历、反向遍历–Iterator详解概述在使用java集合的时候,都需要使用Iterator。但是java集合中还有一个迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的时候可以使用。这两种迭代器有什么区别呢?下面我们详细分析。这里有一点需要明确的时候,迭代器指向的位置是元素之前的位置,如下图所示: 这里假设集合List由四个元素L
listIterator反向遍历学习笔记
ListIterator接口有两个方法,可以用来反向遍历链表E previous() bollean hasPrevious()import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.ListIterator; public class Test { publi
Java类集框架——Iterator和ListIterator 迭代器的使用(遍历集合)
学习目标: 掌握集合输出的标准操作。 掌握Iterator接口的主要作用及使用注意事项。 掌握ListIterator与Iterator接口的关系及区别。 掌握ListIterator接口的使用限制。 在集合的操作中支持以下几种方式:  Iterator  ListIterator  foreach输出  Enumeration输出 Iterator接口简介 集合输出
listIterator迭代器实现向前向后遍历
      我们在使用List,Set的时候,为了实现对其数据的遍历,我们经常使用到了Iterator(跌代器)。  使用跌代器,你不需要干涉其遍历的过程,只需要每次取出一个你想要的数据进行处理就可以了。但是在使用的时候也是有不同的。  List和Set都有iterator()来取得其迭代器。对List来说,你也可以通过listIterator()取得其迭代器,两种迭代器在有些时候是不能通用的,I...
【JAVA语法】持有对象--Java中迭代器listIterator的用法
写在前面:    我也是一名java语言的爱好者,仅以此文作为学习的记录,对于文中出现的代码规范,代码格式,算法效率等问题,希望各路大神不吝赐教,在下感激不尽。同是学习的同学也同样希望互相交流,取长补短。                                                                                                  ...
ListIterator中next()与previous()方法以及add()方法的初步理解与练习
    /*练习14    //以下我创建了一个方法  该方法实现的功能为将每个元素加入到list容器中的中间位置//用到的内容主要为  :    迭代器中单独的add方法//                      该方法可将元素插入到指针所指的位置//                      通过调用该next()与previous()方法改变指针的位置来改变元素的插入位置 //     ...
java iterator如何倒序输出
iterator只能向前迭代 List还额外提供了一个listIterator()方法,该方法返回一个ListIterator对象,ListIterator接口继承了Iterator接口,ListIterator比Iterator增加了向后迭代的功能 不过在使用ListIterator迭代时,开始也需要正向迭代,然后在倒序迭代 public class Test { publi
使用ListIterator双向遍历集合
使用ListIterator双向遍历集合 @Test public void linkedListListIteratorTest(){ List< String > staff = new LinkedList(); staff.add ( "Amy" ) ; staff.add ( "Bob" ) ; staff.add ( "nCarl" )...
Java中List迭代器遍历元素(ListItertator逆向遍历)
public class Demo { public static void main(String[] args) { List list = new ArrayList(); list.add("hello"); list.add("world"); list.add("java"); //方式一 for(int i=0;i<list.size()...
迭代器ListIterator使用及并发修改List集合
有一个集合,判断里面有没有"world"这个元素, 如果有,我就添加一个"java"元素,请写代码实现。 接口 ListIterator 所有超级接口:  Iterator  public interface ListIterator extends Iterator 系列表迭代器,允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置。 ListIt
java集合中list集合基本用法及List集合特有的迭代器ListIterator
/* Collection |--List:元素是有序的,元素可以重复。因为该集合体系有索引。 |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。 |--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。 |--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。
(63)ListIterator用法、List均有的增删改查
一、List:带角标操作 二、集合增改查 二、若迭代器进行增删改查用ListLterator
List集合ListIterator和Iterator迭代器区别与用法
ListIterator是Iterator的子接口,是List集合特有的迭代输出接口,它可以实现在迭代过程中对元素的增删改查。在使用Iterator迭代过程中,不要使用集合操作元素,容易出现异常,demo1:package com.wql;import java.util.ArrayList; import java.util.Iterator; import java.util.ListItera
集合框架listIterator() //返回此列表元素的列表迭代器(按适当顺序)。listIterator(int index) //返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
Collection接口中有三个子接口(List,Set,Queue) Collection中的方法:   addAll(Collection<? extends E> c) addAll(int index, Collection<? extends E> c) clear() contains(Object o) containsAll(Collecti...
Java 集合源码解析(2):ListIterator
ListIterator根据官方文档介绍, ListIterator 有以下功能: 允许我们向前、向后两个方向遍历 List; 在遍历时修改 List 的元素; 遍历时获取迭代器当前游标所在位置。 注意,迭代器 没有当前所在元素一说,它只有一个游标( cursor )的概念,这个游标总是在元素之间,比如这样:初始时它在第 0 个元素之前,调用 next() 游标后移一位:调用 previous()
List集合的迭代神器ListIterator
一 ListIterator迭代器的概述 ListIterator与Iterator接口不同,它不仅可以向后迭代,它还可以向前迭代。 ListIterator相对Iterator增加了如下3个方法: boolean hasPrevious():返回该迭代器关联的集合是否还有上一个元素。 Object previous():返回该迭代器的上一个元素。 void add():在指定位置插入一
List集合特有的迭代器,ListIterator
List集合特有的迭代器,ListIterator是Iterator的子接口 /** * @author gaobin *什么是迭代器呢? *其实就是集合的取出方式 *如同抓娃娃游戏机中的夹子 *迭代器是取出方式,会直接访问集合中的元素所以将迭代器通过内部类的形式来进行描述 *通过容器的iterator()方法获取该内部类的对象。 *List集合特有的迭代器,ListIterat
Java 集合中关于Iterator 和ListIterator的详解
1.IteratorIterator的定义如下:public interface Iterator<E> {}Iterator是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。Iterator提供的API接口如下:forEachRemaining(Consumer<? super E> action):为每个剩余元素执行给定的操作,直到所有的元素...
列表迭代器ListIterator的用法
ListIterator的父接口是Iterator,是List接口中特有的迭代器。 ListIterator在Iterator的基础上,又新添了很多方法: Iterator中的方法: 1、判断是否有下一个元素:hasNext();  2、获取下一个元素:            next(); 3、删除迭代器指向的元素:remove(); ListIterator新添的方法: 4、判断
集合中关于iterator遍历顺序的理解
在java 集合中,iterator对于hashset集合的遍历顺序是根据hashcode执行的,因为hashset集合是无序的,集合的顺序是不确定的,因此在用itorator遍历时不是从开始到结束顺序执行的。反之,因为arraylist集合是有序的,遍历后结果的顺序就是从开始到结束顺序执行的。
java_关于集合(Collection接口,List接口及其子类,Iterator迭代器接口)
(一)集合概念:用于存储多个对象的单一对象(容器),存储的数据叫元素.元素都是引用类型 PS:容器内存储的都是对象的地址; 用于模拟现实生活中的容器,因此集合类型,不单是一种,有很多类型设计成各种存储的数据结构,这种类型叫做集合框架 元素:必须是引用数据类型的数据,不能是基本数据类型的数据,可以是包装类 JDK1.5新特性: 1.5前容器可以存储Object的任何子类型,但...
集合List中的迭代器Iterator 以及特有的get()方法,遍历元素element
方法一(共有正向迭代1):Iterator ite =list.iterator(); while(ite.hasNext()) { System.out.println(ite.next()); }方法二(共有正向迭代2)Iterator ite =list.iterator(); while(ite.hasNext()) { Object obj = ite.next(); ...
使用reverse_iterator迭代器实现STL容器的反向遍历
某些时候因为一些特殊的
容器(三):ListIterator和Iterator辨析与源码分析
容器(三):ListIterator和Iterator辨析与源码分析 标签: Java编程思想 容器三ListIterator和Iterator辨析与源码分析 游标 Iterator源码分析 default关键字 方法分析 ListIterator介绍 ListIterator源码分析 方法分析 ListIterator 的实现 ListIterator 的代码测试 ListIte
Java基础复习笔记--Iterator和ListIterator 迭代器的使用(遍历集合)
Java类集框架——Iterator和ListIterator 迭代器的使用(遍历集合) 学习目标: 掌握集合输出的标准操作。 掌握Iterator接口的主要作用及使用注意事项。 掌握ListIterator与Iterator接口的关系及区别。 掌握ListIterator接口的使用限制。 在集合的操作中支持以下几种方式: Iterator ListIterator foreach...
集合(Collection)与迭代器(Iterator)
集合(Collection)与迭代器(Iterator)这个大家都应该是不陌生了,我本来想介绍一下,不过,我想了一下,我说的,绝对没有《Think In Java》说的好,所以我就引用下面的话,然后,我举例测试,并附代码于后。  测试用例:import java.util.ArrayList;import java.util.Collection;i
用迭代器取出ArrayList集合集合中的元素。(用for和while正反向遍历)
import java.util.*; class ListDemo1 { public static void main(String[] args) { ArrayList a=new ArrayList(); a.add("java01"); a.add("java02"); a.add("java03"); ListIterator t=a.listIterat
Java学习篇之迭代器并发修改异常问题
迭代器并发修改异常的问题
遍历list 集合 使用 iterator 和get 谁更快速?
Java code ? 1 2 3 4 5 6 ----------测试ArrayList----------- iterator操作:80ms get操作:40ms ----------测试LinkedList----------- iterator操作:110ms get操作:140m
java-collection的 iterator 返回的迭代器快速失败
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.TreeMap; public class TreeMapTest { public static void main(String[] ar
Java中迭代器Iterator的使用Collection接口(list和set)和Map接口中
Java中迭代器Iterator的使用Java集合类中Map接口下的相关类并没有像Collection接口的相关类一样实现get()方法,因此在要实现遍历输出的场景中没法直接用get()方法来取得对象中的数据,但Java本身提供了另一种遍历数据的方法,即用Iterator迭代器,虽然Iterator可以用来遍历读取数据,但它本质上不是一种方法,它只是一种设计模式,它是一个对象,一个“轻量级”的对象...
Java 中list集合 通过Iterator方法迭代数组
Java 中list集合 通过Iterator方法迭代数组
关于使用Iterator删除List中的多个元素
今天在写代码时要删除List中的多个元素时犯了一个很搞笑的错误,等效的就是以下代码 public static void main(String[] args) { List<String> a = new ArrayList<String>(); a.add("1"); a.add("2"); a.add("3");
java基础入门-iterator迭代器与集合下标的使用
今天说说集合的iterator迭代器与集合下标的使用 先上代码 import java.util.ArrayList; import java.util.Iterator; public class Test { public Test() { // 初始化List addItemToList(); } private ArrayList list = new Ar
Iterator迭代器-ListIterator-Enumeration枚举类接口的特点和区别
Iterator迭代器-ListIterator-Enumeration枚举类接口的特点和区别 1、Iterator的特点:     API中是这样解释的: 对collection进行迭代的迭代器。它取代了Enumeration.迭代器与枚举有两点不同: A.迭代器允许调用者利用定义良好的语义在迭代期间从迭代器所指向的collection移除元素。 B.在方法名上得到了改进。
java迭代器模式实现正反向遍历
用java编写的迭代器,实现10数字正反向遍历。
linkedlist中遍历集合中的元素foreach与Iterator的用法
package sec03; import java.util.Iterator; import java.util.LinkedList; public class TestIterator { public static void main(String[] args) {     LinkedList&amp;lt;Student&amp;gt; list=new LinkedList&amp;lt;Stud...
Reverse Iterators(逆向迭代器)
本文指出了正向迭代器与反向迭代器的关系,并给出了反向迭代器的使用方法与注意事项
java集合之迭代器ListIterator
java集合之迭代器ListIterator 首先,我们来看一段程序: public static void main(String[] args) { ArrayList list = new ArrayList(); list.add(1); list.add(2); list.add(3); list.add(4); for(ListIterator iter = list.listIterator();i
文章热词 Java 双目视觉问题 特征点问题 相机标定问题 最优化问题
相关热词 c++ 逆向迭代器 c++ 关于unique的问题 java与c++读写文件的效率问题 关于python培训班 关于区块链的课程