539得票13回答
Collectors.toMap中空条目值导致NullPointerException

Collectors.toMap方法会在值为null时抛出NullPointerException异常。我不理解这种行为,因为map可以包含值为null的指针并且没有任何问题。是否有充分的理由使得Collectors.toMap不支持值为null的情况? 此外,是否有Java 8中优雅的方式来...

283得票10回答
Java 8:使用流/映射-归约/收集器将HashMap<X,Y>转换为HashMap<X,Z>

我知道如何将一个简单的Java List从Y转换为Z,即:List&lt;String&gt; x; List&lt;Integer&gt; y = x.stream() .map(s -&gt; Integer.parseInt(s)) .collect(Co...

214得票8回答
如何将Java8流中的元素添加到现有列表中

Collector的Javadoc 显示如何将流中的元素收集到新List中。是否有一行代码将结果添加到现有的ArrayList中?

140得票1回答
是否有一个收集器可以收集到一个保持顺序的集合?

Collectors.toSet()方法不保留顺序。我可以使用Lists代替,但我想表明生成的集合不允许元素重复,这正是Set接口所用于。

108得票1回答
Collectors.toSet() 和 HashSet

请看以下示例代码: Set&lt;String&gt; someSet = someColletion.stream().map(p -&gt; p.toString()).collect(Collectors.toSet()); 我想要一个HashSet。在调试代码时,我确实得到了一个...

93得票3回答
Collectors.toList() 返回什么样的 List<E>?

我正在阅读State of the Lambda: Libraries Edition,并对其中一项声明感到惊讶: 在流(Streams)这个章节下,有以下内容:List&lt;Shape&gt; blue = shapes.stream() ...

83得票5回答
Java 8 Collectors.toMap SortedMap

我正在使用Java 8的Lambda表达式,并想使用Collectors toMap方法返回一个SortedMap。我能想到的最好的方法是使用一个虚拟的mergeFunction和将mapSupplier设置为TreeMap::new来调用下面的Collectors toMap方法。 pub...

81得票4回答
Java 16的Stream.toList()和Stream.collect(Collectors.toList())有什么不同?

JDK 16现在直接在Stream实例上包含toList()方法。在之前的Java版本中,您必须始终使用collect方法并提供一个Collector实例。 新方法显然要输入的字符更少。这两种方法是否可以互换,还是有微妙的差别需要注意?var newList = someCollection....

78得票8回答
Java 8中使用Streams的Hashmap收集Map值

让我们考虑一个哈希表Map&lt;Integer, List&gt; id1 = new HashMap&lt;Integer,List&gt;(); 我将一些值插入了两个哈希表中。 例如,List&lt;String&gt; list1 = new ArrayList&lt;String&...

70得票13回答
将列表沿元素拆分为子列表

我有这个列表 (List&lt;String&gt;):["a", "b", null, "c", null, "d", "e"] 我希望你能够提供类似这样的内容:[["a", "b"], ["c"], ["d", "e"]] 换句话说,我想使用null值作为分隔符,将我的列表拆分成子列表,以...