jjzjj

reverse_iterator

全部标签

java - java.util.Iterator 的实现是否使用状态模式?

我只是在寻找一个合理的答案如何实现java.util.Iterator正在进入状态设计模式编辑请引用以下链接ExamplesofGoFDesignPatternsinJava'scorelibraries 最佳答案 那个,我不确定。据我所知,它是IteratorDesignPattern的一个实现。.但是,可以错误地认为它使用了StatePattern,因为调用next()会影响Iterator的状态目的。但是,IMO,它并不是真正的StatePattern实现,因为它不会更改必须执行操作的基础对象。维基百科有一个很好的Java示例

java - 为什么 java.util.Optional 不实现 Iterable?

为什么Java8的Optional没有实现Iterable?我认为这是一种有意的语言选择,但我想知道为什么。Scala的Option和Haskell的Maybe实现了类似于Iterable的遍历方法。FWIW,Java9将实现Optional.stream()(JDK-8050820)。 最佳答案 我不是Scala或Haskell的专家,但我相信这些语言具有诸如序列理解之类的结构,这使得它对Option或Maybe非常有用成为Traversable。Java的Iterable可能类似于Traversable但Java语言的其余部分并

java - 错误 : can only iterate over an array or an instance of java. lang.Iterable

请帮助我解决我的错误似乎无法使其工作,因为它只能迭代数组或java.lang.Iterable的实例。我想创建一个条形码并读取它并将其添加到word文档中更新帖子nodeCollection来自com.aspose.words。importcom.aspose.barcode.*;importcom.aspose.barcoderecognition.BarCodeReadType;importcom.aspose.barcoderecognition.BarCodeReader;importcom.aspose.words.Document;importcom.aspose.word

java - 何时返回 Iterable<String> 而不是 List、Set、Collection?

所以我一直在相当广泛地使用Neo4jAPI,我注意到它们几乎总是有返回Iterable而我一直认为最好返回Set、List或Collection之一,除非有令人信服的理由不这样做。设置为向用户表明它永远不会有重复的元素,当顺序很重要或包含重复元素时为List,或者当您没有策略时为Collection。与Iterable相比,我更喜欢它们,因为它们具有有用的实用程序,如.contains()、.add()等。我发现我经常需要编写代码将Iterable转换为Collection。所以我的问题是:我是否遗漏了一些重要的东西?使用Iterable而不是Collection是否有合理的理由?你什

java - 流接口(interface) : How empty() method returns Iterable?

@FunctionalInterfacepublicinterfaceStreamableextendsIterable,Supplier>我正在探索StreamableInterface,我遇到的第一个方法是empty()具有以下定义的方法。staticStreamableempty(){returnCollections::emptyIterator;}Collections::emptyIterator返回Iterator但是这个方法的返回类型是Streamable.Streamble扩展了Iterable和Supplier而不是Iterator接口(interface)。我不明

java - 增强的 for 循环不接受 Iterator

如果之前有人问过这个问题,请原谅。我的搜索没有提出任何其他类似的问题。这是让我在Java中感到惊讶的事情。显然,增强的for循环只接受java.lang.Iterable的数组或实例。.它不接受java.util.Iterator作为迭代的有效对象引用。例如,Eclipse显示以下代码的错误消息。它说:“只能迭代数组或java.lang.Iterable的实例”SetmySet=newHashSet();mySet.add("dummy");mySet.add("test");Iteratorstrings=mySet.iterator();for(Stringstr:strings)

java - 例如,将 Iterator<Object> 转换为 Set<String> 的最佳方式

类型转换Iterator到Set什么是最干净/最佳的实践方式? 最佳答案 publicSetgetBs(){Iteratoriterator=myFunc.iterator();Setresult=newHashSet();while(iterator.hasNext()){result.add((B)iterator.next();}returnresult;}当然,如果迭代器返回的所有A都不是B,它当然会失败。如果要过滤迭代器,那么使用instanceof:publicSetgetBs(){Iteratoriterator=my

java - Reverse 方法反转队列的元素

这不是硬件或作业。这是我自己在练习的东西。给定一个队列,编写一个Reverse方法来反转队列中的元素。MyQueue保持不变。签名:publicQueuereverse(QueuemyQueue){注意:不知道Queue是用节点还是数组做的。队列已经实现了我们可以使用的方法:voidenqueue(Telement)Tdequeue();booleanisFull();booleanisEmpty();intsize(); 最佳答案 您可以使用堆栈来反转队列。在Java中是这样的:publicvoidreverse(Queueq){

java - 为什么 Iterators.size() 使迭代器为空?

publicstaticvoidmain(Stringargs[])throwsJSONException{JSONObjectjson=newJSONObject();json.put("name","abcgdj");json.put("no","1234");json.put("contact","6748356");Iteratorkeys=json.keys();System.err.println(Iterators.size(keys));System.err.println(Iterators.size(keys));}在这段代码中,在执行Iterators.size(

c# - 链表 <T> (2.0) : removing items iteratively

我需要遍历LinkedList(在.NET2.0中)并根据给定条件删除所有项目。这在Java下很简单,因为我可以执行以下操作:Iteratori=list.iterator();while(i.hasNext()){Ee=i.next();if(e==x){//Found,somoveittothefront,i.remove();list.addFirst(x);//Returnitreturnx;}}不幸的是,在IEnumerator的.NET行为中(相当于Iterator)没有remove方法从集合中删除当前元素。此外,在LinkedList无法访问给定索引处的元素,无法通过从最