List<String> list2 = Arrays.asList("hello", "hi", "你好");
List<String> list3 = Arrays.asList("zhangsan", "lisi", "wangwu", "zhaoliu");
List<Stream<String>> list2Result = list2.stream().map(item -> list3.stream().map(item2 -> item + " " + item2)).collect(Collectors.toList());
list2Result.forEach(item -> item.collect(Collectors.toList()));
list2Result.forEach(item -> item.forEach(System.out::println));
我必须将list2Result转换为list
,但是我不能使用foreach来打印它。
>
线程“main”java.lang.IllegalStateException中的异常:流已经在java.util.stream.AbstractPipeline.Evaluate(未知源)在java.util.stream.ReferencePipeline.Foreach(未知源)在com.singhand.proxyserver.main.lambda$15(main.java:61)在java.util.ArrayList.Foreach(未知源)在com.singhand.proxyserver.main.main(Main.java:61)上被操作或关闭
不能对同一流
进行两次操作。
尝试收集第一个映射
中的列表。
List<List<String>> list2Result = list2.stream()
.map(item -> list3.stream()
.map(item2 -> item + " " + item2)
.collect(Collectors.toList()))
.collect(Collectors.toList());
并以相同的方式打印列表的列表
list2Result.forEach(item -> item.forEach(System.out::println));
如果您想要一个平坦的列表,请尝试使用flatmap
来收集列表,该列表将多个流平坦在一个列表中。
List<String> list2Result = list2.stream()
.map(item -> list3.stream()
.flatMap(item2 -> item + " " + item2))
.collect(Collectors.toList());
然后就会有可打印的list
字符串。
list2Result.forEach(System.out::println);
我有一个SeniorEmployee类,它有一些属性,在这个属性下我有JuniorEmployee列表。现在我的标准是在SeniorEmployee中通过流和基于一些标准进行迭代,然后对于与筛选标准匹配的SeniorEmployee,我们需要在juniorEmployee列表中进行迭代,并计算他们的总薪资。那么,我如何通过流在单个lambda表达式中实现它呢?请帮帮忙。 如果EmpCode为10,
我有这个代码: 它产生的是 很高兴我应该如何写映射方法来得到一个地图,它会给我:
我正在尝试编写一个方法,该方法可以在列表列表中找到对象的索引并利用并行性。这是我的代码。 当我运行以下代码时 输出类似于 换句话说,即使在找到对象之后,搜索仍在继续。不应该是短路操作吗?我错过了什么?此外,在迭代列表或锯齿数组时,利用并行性的最佳方法是什么? 编辑 按照@Sotirios回答中的想法,我得到了以下输出 请注意 即使找到答案也继续搜索。
当流过< code>List时,如何将输出收集到一个链表中? 我尝试了以下方法: 但是这给了 java.util.数组列表不能转换为 java.util.链接列表.
在Java 8中,我越来越多地用替换返回值。 所以我曾经有: 我现在使用: 我对此的论点是: 它强制执行基础列表的不变性。 它隐藏了存在基础列表的事实。之后可以将其更改为集合或其他结构,而无需更改方法签名 它很好地封装了该方法的用户希望对项进行处理,而不是对列表进行处理 如果需要,它可以在以后进行简单的并行化 事实上,现在,在我的代码中,返回<code>列表 显然,其中一些可以通过不可变集合来实现
问题内容: 我的JPA实体具有如下列表: 和地图形式ElementParameter 当我获得带有elementParameters列表的实体并在其上执行流时,即使我使用.size()触发列表,但是当我使用for循环执行相同操作时,它也无济于事。 有什么解决方案可以使该流工作?我使用eclipselink作为JPA提供程序。 问题答案: 显然,您是指此问题。这些使用从实际实现(此处)继承的反模式的