collectors相关内容

Java Streams:替换 groupingBy 并减少 toMap

我之前问过一个关于增强一些代码的问题,此处.@Holger 给了我正确的回应,他说: 每当您发现自己使用还原收集器时groupingBy,你应该检查toMap是否更合适 这似乎是一种模式!他建议我做的事情非常完美. 这是一个众所周知的模式吗?为什么 toMap 比(在某些情况下)结合 groupingBy 和 reducing 更好? 解决方案 通过使用这两个收集器的经验 ..
发布时间:2021-11-25 19:29:05 Java开发

具有空条目值的 Collectors.toMap 中的 NullPointerException

如果其中一个值为 null, Collectors.toMap 会抛出一个 NullPointerException.我不明白这种行为,地图可以包含空指针作为值而没有任何问题.Collectors.toMap 的值不能为空是否有充分的理由? 另外,有没有一个很好的 Java 8 方法来解决这个问题,还是我应该恢复到普通的 for 循环? 我的问题的一个例子: import java ..
发布时间:2021-11-25 14:47:15 Java开发

Java中stream.max(Comparator)和stream.collect(Collectors.maxBy(Comparator)的区别

在 Java Streams 中 - stream.max(Comparator) 和 stream.collect(Collectors.maxBy(Comparator)) 在性能方面有什么区别.两者都将根据传递的比较器获取最大值.如果是这种情况,为什么我们需要使用 collect 方法进行收集的额外步骤?我们什么时候应该选择前者和后者?哪些用例场景适合同时使用两者? 解决方案 他们做 ..
发布时间:2021-11-15 00:39:32 其他开发

Java:将子值作为值分组

比方说,我有一个对象Person,其字段类型为FirstName和LastName.现在,我还有一个 List ,并且我喜欢使用流. 现在,我想生成一个 Map> 以便对具有相同名字的人进行分组.如何在不编写大量代码的情况下进行此操作?到目前为止,我的方法是 personList.溪流().collect(Colle ..
发布时间:2021-05-20 18:32:05 Java开发

Collectors.toSet()是否总是返回HashSet吗?什么合同

Javadoc说 返回一个收集器,该收集器将输入元素累积到一个新的放.对于类型,可变性,可序列化性,或返回的Set的线程安全性;如果更多地控制返回的Set是必需的,使用toCollection(java.util.function.Supplier). 因此, Collectors.toCollection(HashSet :: new)似乎是避免此处出现问题的好主意( 那么,为 ..
发布时间:2021-05-19 18:34:02 Java开发

带有空条目值的Collectors.toMap中的NullPointerException

如果其中一个值为 null ,则 Collectors.toMap 会引发 NullPointerException .我不了解这种行为,地图可以包含空指针作为值,而不会出现任何问题.是否有充分的理由为什么 Collectors.toMap 的值不能为null? 此外,是否有解决此问题的Java 8不错的方法,还是我应该恢复到普通的for循环? 我的问题的一个例子: import ..
发布时间:2021-05-18 18:57:50 Java开发

按数组列表分组

我得到了需要分组的对象数组的列表.数组包含不同类型的对象. 这是一个示例: List resultList = query.getResultList(); // call to DB // Let's say the object array contains objects of type Student and Book // and Student has a ..
发布时间:2021-02-11 18:41:55 Java开发