草庐IT

normal_iterator

全部标签

java - java.util.Iterator.remove() 方法是 'optional operation' 是什么意思?

我试图从Iterator对象中过滤特定元素,我可以通过iterator.remove()方法删除错误元素。这是我的方法stub:privatestaticIteratorprocess(Iteratoriter,Perp){while(iter.hasNext()){Ao=iter.next();if(p.per(o)){iter.remove();}}returniter;}我可以删除不相关的元素,但是当我查看Iterator.reomve()的javaapi时,它说:voidremove():Removesfromtheunderlyingcollectionthelastelem

java - query.list 和 query.iterate 的区别

使用Query.list()到底有什么区别?和Query.iterator()?使用其中任何一个是否有任何性能增强。我的意思是他们中的任何一个都在实现lazyloading?或者是Query.iterator()最终与query.list().iterate()相同还有为什么没有Criteria.iterator()只有Criteria.list() 最佳答案 Query.list():执行1个SQL查询并加载整个数据。即使记录存在于缓存中,也会执行新的SQL查询以从数据库加载记录。Listlist1=session.createQ

java - 如何判断一个请求是Ajax还是Normal?

我想以不同方式处理AJAX请求和普通请求的错误。如何在Struts2操作中识别请求是否为AJAX? 最佳答案 您应该检查请求headerX-Requested-With是否存在并且等于XMLHttpRequest。请注意,并非所有AJAX请求都有此header,例如Struts2Dojo请求不会发送它;如果您改为使用Struts2-jQuery(或任何其他新的AJAX框架)生成AJAX调用,它就在那里。您可以使用Firebug的Net模块来检查它是否存在...例如,当您对StackOverflow投票时;)要从Struts2Acti

java - Iterator.remove() IllegalStateException 异常

在下面的代码中,我有一个trycatchblock,它尝试使用Iterator从Vector中删除一个元素。我创建了自己的类QueueExtendingVect,它扩展了Vector并实现了Iterator。变量qev1是类QueueExtendingVect的实例。我也已经向这个Vector添加了一些元素。try{qev1.iterator().remove();}catch(UnsupportedOperationExceptione){System.out.println("CallingIterator.remove()andthrowingexception.");}qev1

Java,使用 Iterator 搜索 ArrayList 并删除匹配的对象

基本上,用户提交一个字符串,迭代器在ArrayList中搜索该字符串。找到后,迭代器将删除包含字符串的对象。因为这些对象中的每一个都包含两个字符串,所以我很难将这些行写成一个。Friendcurrent=it.next();Stringcurrently=current.getFriendCaption();感谢您的帮助! 最佳答案 您不需要将它们放在一行中,只需使用remove删除匹配的项目:Iteratorit=list.iterator();while(it.hasNext()){if(it.next().getFriendC

java - java库代码在 "normal"处理过程中throw和catch很多异常正常吗?

作为实验,我决定在Eclipse调试器中启用以下断点:Throwable[IncludeSubclasses]:caughtanduncaught。然后我让我的代码(据我所知运行“良好”)在调试器下运行,当我的代码运行时,我惊讶地看到标准J2SE库代码抛出和捕获了几十个异常(我以前不知道)据我所知正常运行。例如,这里只是我发现的一些抛出异常的Java框架函数:URLClassLoader.findClass、FileDirContext.lookup和WebappClassLoader.findClassInternal.这是否被认为是Java应用程序的正常行为?这是我应该调查的事情吗

java - 为什么这么多方法使用 Collection 而不是 Iterable?

有了C#,我逐渐爱上了IEnumerable界面。在很多情况下,这就是您想要提供和接受的全部内容。此外,它在.Net库中也很有用。例如,您在List上有一个构造函数需要IEnumerable的类(class).我现在必须使用Java,自然想使用等效的Iterable界面。但是,似乎我真的不能在任何地方使用它。一切似乎都在使用扩展的Collection接口(interface)代替。为什么是这样?例如,您有ArrayList采用Collection的构造函数:Constructsalistcontainingtheelementsofthespecifiedcollection,inth

java - Iterator 实现应该如何处理已检查的异常?

我将java.sql.RecordSet包装在java.util.Iterator中。我的问题是,如果任何记录集方法抛出SQLException,我应该怎么办?java.util.Iteratorjavadoc解释在各种情况下抛出哪些异常(即NoSuchElementException,以防您在最后一个元素之后调用next())但是,它没有提到当出现完全不相关的问题时该怎么做,例如网络或磁盘IO问题。简单地在next()和hasNext()中抛出SQLException是不可能的,因为它与Iterator接口(interface)不兼容。这是我当前的代码(已简化):publicclas

java - 在 java.util.Collection 和 java.lang.Iterable 中声明的方法 iterator(),它的超接口(interface)?

有人可以向我解释为什么方法是Iteratoriterator();吗?在java.util.Collection中定义?Collection已经扩展java.lang.Iterable;这种方法是多余的。这是为了方便吗? 最佳答案 CollectioninterfaceJava1.2中引入了CollectionsAPI。iterator方法出现了。然而,Iterableinterface直到Java1.5才被引入。Collection显式定义iterator的原因是因为它早于Iterable。Collection返回Iterator

java - JSTL 消息 : Don't know how to iterate over supplied "items" with forEach

我正在将一个列表传递给,但我收到错误消息,指出它不知道如何对其进行迭代。@RequestMapping("/viewall")publicStringviewAll(Modelmodel){//productService.findAllProducts()returnsListmodel.addAttribute("everything",productService.findAllProducts());//Alsotriedusingiterator,butIgetsameerror//model.addAtrribute("everything",productService.