collectors相关内容

使用STREAMS实现Java透视表

我已经在这个问题上挣扎了几天了。我正在尝试使用Java Streams创建透视功能。我只需要执行 总和、计数、最大值、最小值和平均值。对于输入,我得到一个透视表列索引、一个透视表行索引数组和要计算的值。 问题是数据在列表中,其中对象可以是字符串、整数或双精度。但我要到运行时才能知道。我必须以List<;List<;Object>的形式返回我的结果。 我遇到了MAX/MIN问题( ..
发布时间:2022-07-25 22:16:58 Java开发

Java 8 Stream“收集和分组"映射到多个键的对象

我有以下物品: 公共类项目{字符串值;列出拥有者;人物创造者;}公共类人{字符串名称;内部标识;人事经理;} 现在我有一个包含 3 个 Item 对象的列表: i1 ->{value="1", 所有者=[p1, p2, p3], 创建者=p4}i2 ->{value="2", 所有者=[p2, p3], 创建者=p5}i3 ->{value="3", 所有者=[p5], 创建者=p1 ..
发布时间:2022-01-22 10:53:55 其他开发

Java 8 Stream API toMap 转换为 TreeMap

公共类消息{私人 int id;私人用户发件人;私人用户接收器;私有字符串文本;私人日期发送日期;..} 我有 列表list=new ArrayList(); 我需要将它们转换为 TreeMap>地图 我知道如何使用 HashMap 进行转换 list.stream().collect(Collectors.groupingBy(Message::getSender)); 但我需 ..
发布时间:2022-01-22 10:51:18 Java开发

计算 Stream 的元素

我想计算一个流的不同元素,想知道为什么 流流 = Stream.of("a", "b", "a", "c", "c", "a", "a", "d");映射counter1 = stream.collect(Collectors.toMap(s -> s, 1, Integer::sum)); 不起作用.Eclipse 告诉我 类型Collectors中的toMap(Fun ..
发布时间:2022-01-22 10:51:02 Java开发

Java Collectors.groupingBy()---List 是有序的吗?

对于返回 Map> 的 Collectors.groupingBy() 是否暗示 Listcode> 是为了评估流吗? 我没有看到列表排序的明确描述,而并发版本明确声明没有排序.如果它不是以某种方式订购的,我希望它是一个集合,我看不出它可能是什么其他订购,除了收到的订单. 我希望可以保证每个列表中的最后一个值是该组收到的最后一个值. 解决方案 grou ..
发布时间:2022-01-22 10:49:56 Java开发

使用流转换和过滤 Java Map

我有一个想要转换和过滤的 Java 地图.作为一个简单的例子,假设我想将所有值转换为整数,然后删除奇数项. Map输入 = 新哈希映射();input.put("a", "1234");input.put("b", "2345");input.put("c", "3456");input.put("d", "4567");映射输出 = input.entrySet().str ..
发布时间:2022-01-22 10:45:58 Java开发

积累一个Java Stream,然后再处理它

我的文档如下所示: 数据.txt 100, "一些文字"101,“更多文字"102、《更多文字》 我使用正则表达式处理它并返回一个新的处理文档,如下所示: 流行 = Files.lines(Paths.get(data.txt);模式正则表达式 = Pattern.compile("([\\d{1,3}]),(.*)");列出结果 =行.map(正则表达式::匹配器) ..
发布时间:2022-01-22 10:43:24 Java开发

如何使用 java 8 流和 lambda 来 flatMap 一个 groupingBy 结果

我有一个包含其他对象列表的对象,我想返回由容器的某些属性映射的包含对象的平面图.是否可以仅使用流和 lambdas? 公开课销售{字符串客户端名称;双倍总数;列表产品;}公共类产品{字符串名称;字符串值;} 让我们假设一个操作列表: 列表操作 = 新的 ArrayList();操作流().filter(s -> s.getTotal > 10).collect(groupin ..
发布时间:2022-01-22 10:37:47 Java开发

如何使用 Java 8 lambda 按顺序计算多个数字的平均值

如果我有集合 Point ,如何在单次迭代中使用 Java 8 流计算 x,y 的平均值. 以下示例创建两个流 &在输入集合上迭代两次以计算 x & 的平均值是的.他们是否有任何方法可以使用 java 8 lambda 在单次迭代中计算平均 x,y: List点=Arrays.asList(new Point2D.Float(10.0f,11.0f), new Point2D.Float( ..
发布时间:2022-01-22 10:36:26 Java开发

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

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