0 0

iterator.next()5

既然iterator.next()是输出下一个,那么,第一个怎么输出呢
 
2012年8月11日 13:18

11个答案 按时间排序 按投票排序

0 0

2012年8月16日 14:14
0 0

想想数据结构中的链表,为什么总是有个header指针,header->next()就是链表中第一个元素……

2012年8月13日 09:27
0 0

   1   2   3   4  
|

当读取一次iterator.next(); 后,指针如下

   1   2   3   4  
     |

(其中|表示指针所指位置)

2012年8月13日 01:51
0 0

开始的索引是-1,next之后就是0了,就是第一个

2012年8月12日 21:39
0 0

看一段jdk中Interator.next()的实现源码,就会明白next()的真正作用了。
AbstractList中的内部类Itr部分源码如下:

    private class Itr implements Iterator<E> {
	/**
	 * Index of element to be returned by subsequent call to next.
	 */
	int cursor = 0;

	/**
	 * Index of element returned by most recent call to next or
	 * previous.  Reset to -1 if this element is deleted by a call
	 * to remove.
	 */
	int lastRet = -1;

	public boolean hasNext() {
            return cursor != size();
	}

	public E next() {
            checkForComodification();
	    try {
		E next = get(cursor);
		lastRet = cursor++;
		return next;
	    } catch (IndexOutOfBoundsException e) {
		checkForComodification();
		throw new NoSuchElementException();
	    }
	}

从上面的源码可以看出,next()方法获取的是当前cursor对应的元素值(通过get方法),而默认初始化会将cursor设置为0,所以第一次调用next()方法返回的是get(0)。如果初始化Interator的实现类时指定相应的index值,则第一次调用next()方法放回的是get(index)。

2012年8月11日 21:59
0 0

当第一次输入iterator.next()的时候,它就是第一个。

2012年8月11日 21:06
0 0

这年头学编程的,基本都不把自己手头的书看一遍的吗?而且 这还是语法的基本啊!

2012年8月11日 20:53
0 0

List list = new ArrayList();
for(Iterator it = list.iterator;it.hasNext();){
    it.next();
}

第一次循环时,it.next()便是第一个呀

2012年8月11日 17:58
0 0

在循环里break一下就行了

2012年8月11日 16:04
0 0


第一次的next() 就是第一个。
在Iterator类中,我们经常用到两个方法: hasNext(), next(),
具体含义: next(),  是返回当前元素, 并指向下一个元素。
           hasNext(), 则是判断当前元素是否存在,并指向下一个元素(即所谓的索引)
如: 枚举工号
        Map  map = new HashMap();
             
        map = new HashMap();
        map.put("1155669", "Tom");
        map.put("1155689", "Jane");
        map.put("1165669", "Kevin");
        map.put("1155660", "Gavin");
      
        Set keySet = map.keySet();
        Iterator  iterator = keySet.iterator();
      
        while (iterator.hasNext()) {
            String  key = (String) iterator.next();
            System.out.println(key);
        }
那么第一次输出的就是第一个"1155669".....

2012年8月11日 15:32
0 0

你每次通过iterator()方法获取到一个iterator过后,第一次的next() 就是第一个啊?
不知道对不对你的意思.

2012年8月11日 13:33

相关推荐

    11-Iterator.rar

    2. **迭代器接口**(Iterator Interface):定义了遍历元素的方法,如`hasNext()`用于检查是否还有更多元素,以及`next()`用于返回下一个元素。在Java中,这就是`java.util.Iterator`接口。 3. **具体迭代器**...

    java-util-iterator.pdf java-util-iterator.pdf

    `java.util.Iterator`接口定义了三个核心方法:`hasNext()`、`next()`和`remove()`。这些方法使得遍历集合成为可能,同时也隐藏了集合的具体实现细节。这意味着无论集合是基于数组还是链表实现的,客户端都可以使用...

    java使用ListIterator对List遍历时添加修改删除​

    System.out.println(iterator.next()); } ``` ### 3. 添加元素 在遍历过程中,可以使用`add(E element)`方法在当前迭代位置插入新元素,这会更新迭代器的状态,使其指向新插入元素的后面。 ```java iterator.add...

    Java 程序显示 hasNext() 和 next() 方法的用法.docx

    iterator.next(); System.out.println(iterator.hasNext()); // 输出 true,因为还有一个元素未遍历 iterator.next(); System.out.println(iterator.hasNext()); // 输出 false,所有元素已遍历 ``` 2. `next()` ...

    JAVA中的Iterator的用法

    String item = iterator.next(); System.out.println(item); } ``` #### 四、`Iterator`与`Collection`接口 `Collection`接口是所有集合类的根接口。它定义了一些基本的方法,包括添加元素、删除元素以及获取`...

    【JavaScript源代码】学会javascript之迭代器.docx

    简单来说,如果你想让一个对象可以遍历,就需要给它添加一个`Symbol.iterator`属性,并确保这个属性返回的对象有一个`next()`方法。 ```javascript let iterable = { [Symbol.iterator]: function*() { yield 1; ...

    google interview problem of iterator

    Jump Iterator每次调用`next()`时跳过一个元素。 ```java public class JumpIterator&lt;T&gt; implements Iterator&lt;T&gt; { private Iterator&lt;T&gt; iterator; public JumpIterator(Iterator&lt;T&gt; iterator) { this.iterator...

    List,Set和Map遍历读取[归类].pdf

    System.out.println(iterator.next()); } ``` - **方法二:JDK 5引入的增强型for循环(foreach)** ```java for (String item : list) { System.out.println(item); } ``` 增强型for循环简化了遍历过程,...

    Iterator遍历过程中list删除导致异常

    String item = iterator.next(); if (item.equals("特定值")) { list.remove(item); // 这里会抛出ConcurrentModificationException } } ``` 为了解决这个问题,可以使用以下两种方法: 1. 使用`Iterator`自身...

    android 代码

    一个mp3开发程序 private List&lt;Mp3Info&gt; parse(String ... Mp3Info mp3Info = (Mp3Info) iterator.next(); System.out.println(mp3Info); } } catch (Exception e) { e.printStackTrace(); } return infos; }

    HQL经典查询语句[文].pdf

    String name = (String) iterator.next(); } ``` HQL还提供了多种内置的聚合函数,方便对数据进行统计分析。这些函数包括: 1. `count()`:用于计算记录的条数。例如,查询`customer`表中的客户总数: ```java ...

    【JavaScript源代码】详解ES9的新特性之异步遍历Async iteration.docx

    异步可迭代对象通过`[Symbol.asyncIterator]()`方法返回一个异步迭代器,这个迭代器的`next()`方法返回一个Promise,这个Promise解析为一个`IteratorResult`,包含异步操作的结果。 异步迭代器的API定义如下: ```...

    Mockito常用方法.docx

    String result = iterator.next() + " " + iterator.next() + " " + iterator.next(); assertEquals("hello world world", result); } ``` 3、参数匹配 使用Mockito可以根据不同的参数返回不同的结果,例如: `...

    Java学习之Iterator(迭代器)的一般用法

    String str = iterator.next(); System.out.println(str); } ``` #### 删除元素 迭代器提供了一个`remove()`方法,允许在遍历过程中删除当前元素。需要注意的是,调用`remove()`方法前必须先调用过一次`next()`...

    迭代器Iterator.txt

    根据提供的文件信息,我们可以深入探讨迭代器(Iterator)这一设计模式在Java中的应用与实现细节。迭代器模式是一种常用的设计模式,它允许我们以一种顺序访问集合对象的方式遍历其元素,而无需暴露该对象的内部表示...

    ES6 迭代器与可迭代对象的实现

    迭代器是一种特殊对象,它遵循特定的接口(iterator interface),这个接口要求有next方法,该方法返回一个包含两个属性的对象,即value和done。value属性表示当前元素的值,done属性是一个布尔值,用于指示是否还有...

    浅谈java Iterator.remove()方法的用法(详解)

    Java中的`Iterator.remove()`方法是迭代器接口的一个关键方法,用于在遍历集合时删除当前元素。这个方法的使用必须遵循一定的规则,否则可能会导致运行时异常。在深入讲解`Iterator.remove()`之前,我们先来了解一下...

    tess-two-3.02-so-libs

    ----基于google tesseract-ocr-3.02版本;2012-12; ----Linux环境编译, 2014-12... } while (iterator.next(PageIteratorLevel.RIL_WORD)); // Attempt to shut down the API. baseApi.end(); bmp.recycle(); }

    hashMap利用iterator迭代器迭代元素方法

    `Iterator`接口定义了三个基本方法:`hasNext()`、`next()`和`remove()`。`hasNext()`检查迭代器是否还有更多元素,`next()`返回下一个元素,而`remove()`则移除当前元素。在`HashMap`中,我们可以通过`entrySet()`...

    loop-iterator:让我们遍历一个数组,然后在您运行得太远时返回到起点。 您还可以向后迭代并保留历史记录

    安装npm install loop-iterator --save用法var LoopIterator = require ( 'loop-iterator' ) ;var iterator = new LoopIterator ( [ 'Ina' , 'Sebastian' , 'Henner' ] ) ;console . log ( iterator . current ( ) )...

Global site tag (gtag.js) - Google Analytics