标签:java-stream
-
Stream.sorted()。forEach()是否按预期工作? - java
在处理Java项目时,我遇到了如下代码: someMap.keySet().stream().sorted().forEach(/* ... */); 显然,这里的意图是根据键的自然顺序对地图中的每个键执行操作,这似乎确实是在发生的事情。但是,我不确定这种行为是否得到保证。 The Javadoc for Stream#forEach说: 该操作的行为明确地 […]
-
如何使用Java 8流和Lambda将FlatMap分组 - java
我有一个包含其他对象列表的对象,并且我想返回由容器的某些属性映射的所包含对象的平面图。如果可以仅使用stream和lambdas的话吗? public class Selling{ String clientName; double total; List<Product> products; } public class Product{ St […]
-
使用Java中的流从byte []到byte []的ArrayList - java
我有一个byte []的ArrayList,我想知道是否可以使用Java *中的流将其转换为byte []。 ArrayList中的所有数组都具有相同的大小。 ArrayList<byte[]> buffer = new ArrayList(); byte[] output = buffer.stream(...) 参考方案 试试这个。 List […]
-
使用Java-8对数组中的数字排序而不更改偶数位置 - java
我正在学习Java 8流。告诉我,如何更紧凑地编写sortArray方法? import org.junit.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Map; import static org. […]
-
如何封装Java Streams操作 - java
Improve this question 使用Java Stream API时看到的缺点之一是,与迭代版本相比,该代码似乎可读性较低。 顺便说一句,这就是我的想法,但是我只是给出一些上下文(以避免the XY problem),我要问的是与此无关的,因此希望这将而不是视为基于意见的问题。 封装通常可以提高代码的可读性(再次提供给定的上下文),因此我正在寻找 […]
-
使用流将String转换为用定界符分隔的int序列 - java
因此,我有一个包含自动生成的符号的单词列表。例如:hqst。我将此单词的每个符号转换为unicode并将其连接起来,除以点.,如下所示:104.113.115.116。 我写下一个lambda: .map(word -> { char[] symbols = word.toCharArray(); StringBuilder newWord = new […]
-
Java 8 Streams过滤和收集是否返回对列表中相同对象的引用? - java
例如考虑下面的代码 List<Reference> references = context.getReferences() .stream() .filter(ref -> ref.getCondition() == SOMETHING_DESIRABLE) .collect(Collectors.toList()); 现在,如果我更改了 […]
-
如何很好地将两个地图的两个集合相交? - java
我们的对象具有“属性”;它们的当前状态表示为Map<String, Object>,其中键类似于属性的名称。这些值可以具有不同的类型,尽管我当前的任务只是处理布尔属性。 除了当前状态外,还通过此类映射组织对对象的“更新”。 现在,我必须防止禁用当前为true的属性(转为false)。 使用流,这在这里有效: Set<String> c […]
-
Java 8单独的列表元素类别 - java
给定我有一个列表,所有列表都继承自同一基类: class Item { protected String name; public Item(String name) { this.name = name; } getName() { return name; } } class ItemA extends Item {...} class ItemB ex […]
-
如果仅对BinaryOperator参数之一进行汇总,那么Java流实际上会减少什么? - java
看一下下面的代码:在二进制运算符中,我们有reduce((x,y)-> x + x)。为什么实际上计算为Optional [512]?我没有解释 System.out.println((Stream.generate(()->1d).limit(10). peek((doubleValue)->{ System.out.println( […]