草庐IT

asynchronous-iteration-patterns

全部标签

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

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

java - @DateTimeFormat(pattern ="yyyy-MM-dd") 使用 Spring Mvc Rest Service 给出 "error 400 request syntactically incorrect"

这个问题在这里已经有了答案:Therequestsentbytheclientwassyntacticallyincorrect.-SpringMVC+JDBCTemplate(6个答案)关闭7年前。我无法让它工作:@RequestMapping(value="/people",method=RequestMethod.GET,produces="application/json")public@ResponseBodyListsearchPerson(@RequestParam(value="birthDay",required=false)@DateTimeFormat(patte

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.

java - Pattern.asPredicate 中的错误?

给定以下字符串列表:ListprogLangs=Arrays.asList("c#","java","python","scala");和一个应该匹配4个字母的小写字符串的正则表达式模式。Patternp=Pattern.compile("[a-z]{4}");现在我想找到适合模式p的progLangs元素。老办法:for(Stringlang:progLangs){if(p.matcher(lang).matches()){System.out.println(lang);}}我得到了预期的结果:java但是当我尝试使用Java8流实现相同的目的并使用Pattern.asPredic

java - 解释如何将此 lambda 分配给 Iterable

我在thispost上遇到了一些聪明的代码,可以将Iterator转换为来自Karol的Stream.我不得不承认,我不完全理解如何允许将lambda分配给以下代码中的Iterable类型...staticStreamiteratorToFiniteStream(finalIteratoriterator){finalIterableiterable=()->iterator;returnStreamSupport.stream(iterable.spliterator(),false);}我决定编写自己的小测试以确保它能够编译和执行,而且确实如此。publicvoidprintsSt

java - iterable.forEach() 和 iterable.stream().forEach() 的区别

这个问题在这里已经有了答案:WhatisdifferencebetweenCollection.stream().forEach()andCollection.forEach()?(5个答案)关闭8年前。看起来我可以直接在我的集合上调用list.forEach(a->a.stuff()),而不是list.stream().forEach(a->a.stuff())。我什么时候会使用一个而不是另一个(parallelStream()除了..)?