草庐IT

Iterator

全部标签

java - Java中的Iterator接口(interface)有什么好处?

我刚刚了解了Java集合框架如何在链表中实现数据结构。据我了解,Iterators是一种遍历数据结构(如列表)中的项目的方式。为什么要使用这个接口(interface)?为什么hasNext()、next()和remove()方法不直接编码到数据结构实现本身?来自Java网站:linktextpublicinterfaceIteratorAniteratoroveracollection.IteratortakestheplaceofEnumerationintheJavacollectionsframework.Iteratorsdifferfromenumerationsintwo

java - Java中的Iterator接口(interface)有什么好处?

我刚刚了解了Java集合框架如何在链表中实现数据结构。据我了解,Iterators是一种遍历数据结构(如列表)中的项目的方式。为什么要使用这个接口(interface)?为什么hasNext()、next()和remove()方法不直接编码到数据结构实现本身?来自Java网站:linktextpublicinterfaceIteratorAniteratoroveracollection.IteratortakestheplaceofEnumerationintheJavacollectionsframework.Iteratorsdifferfromenumerationsintwo

java-将列表迭代器重置为列表的第一个元素

我需要知道如何将LinkedList迭代器“重置”为其第一个元素。例如:LinkedListlist;Iteratoriter=list.listIterator;iter.next();iter.next();在迭代器多次移动之后,我需要“重置”迭代器的位置。我想问一下如何将我的迭代器“重置”到第一个元素。我知道我可以通过这种方式获取第一个元素的列表迭代器:iter=list.listIterator(1);这是最好的解决方案吗?或者我错过了Oracle文档中的某些内容? 最佳答案 您可以再次调用listIterator方法来获取

java-将列表迭代器重置为列表的第一个元素

我需要知道如何将LinkedList迭代器“重置”为其第一个元素。例如:LinkedListlist;Iteratoriter=list.listIterator;iter.next();iter.next();在迭代器多次移动之后,我需要“重置”迭代器的位置。我想问一下如何将我的迭代器“重置”到第一个元素。我知道我可以通过这种方式获取第一个元素的列表迭代器:iter=list.listIterator(1);这是最好的解决方案吗?或者我错过了Oracle文档中的某些内容? 最佳答案 您可以再次调用listIterator方法来获取

java - Java中的Hashtable迭代和删除

我在Java中有一个Hashtable,想要遍历表中的所有值并在迭代时删除特定的键值对。如何做到这一点? 最佳答案 您需要使用显式java.util.Iterator来迭代Map的条目集,而不是能够使用可用的增强型For循环语法在Java6中。以下示例遍历Integer、String对的Map,删除其Integer的任何条目key为null或等于0。Mapmap=...Iterator>it=map.entrySet().iterator();while(it.hasNext()){Map.Entryentry=it.next();

java - Java中的Hashtable迭代和删除

我在Java中有一个Hashtable,想要遍历表中的所有值并在迭代时删除特定的键值对。如何做到这一点? 最佳答案 您需要使用显式java.util.Iterator来迭代Map的条目集,而不是能够使用可用的增强型For循环语法在Java6中。以下示例遍历Integer、String对的Map,删除其Integer的任何条目key为null或等于0。Mapmap=...Iterator>it=map.entrySet().iterator();while(it.hasNext()){Map.Entryentry=it.next();

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

Java:为什么 Collection.addAll 不能接受 Iterables?

我想知道为什么Collection.addAll()方法只接受其他Collection而不是Iterable。这是为什么呢?对于Iterables有什么类似的方法吗? 最佳答案 大概是因为Collection接口(interface)是在Java1.2中引入的,而Iterable只出现在1.5中,更改接口(interface)会破坏所有现有实现。 关于Java:为什么Collection.addAll不能接受Iterables?,我们在StackOverflow上找到一个类似的问题:

java - 使用 for 循环或 while 循环进行迭代?

我经常看到这样的代码:Iteratori=list.iterator();while(i.hasNext()){...}但我这样写(当Java1.5不可用或每个都不能使用时):for(Iteratori=list.iterator();i.hasNext();){...}因为更短了它将i保持在较小的范围内它减少了混淆的机会。(i是否在尽管?i在哪里声明?)我认为代码应该尽可能简单易懂,这样我只需要编写复杂的代码来完成复杂的事情。你怎么看?哪个更好?发件人:http://jamesjava.blogspot.com/2006/04/iterating.html

java - 使用 for 循环或 while 循环进行迭代?

我经常看到这样的代码:Iteratori=list.iterator();while(i.hasNext()){...}但我这样写(当Java1.5不可用或每个都不能使用时):for(Iteratori=list.iterator();i.hasNext();){...}因为更短了它将i保持在较小的范围内它减少了混淆的机会。(i是否在尽管?i在哪里声明?)我认为代码应该尽可能简单易懂,这样我只需要编写复杂的代码来完成复杂的事情。你怎么看?哪个更好?发件人:http://jamesjava.blogspot.com/2006/04/iterating.html