collectors相关内容
我已经在这个问题上挣扎了几天了。我正在尝试使用Java Streams创建透视功能。我只需要执行 总和、计数、最大值、最小值和平均值。对于输入,我得到一个透视表列索引、一个透视表行索引数组和要计算的值。 问题是数据在列表中,其中对象可以是字符串、整数或双精度。但我要到运行时才能知道。我必须以List<;List<;Object>的形式返回我的结果。 我遇到了MAX/MIN问题(
..
我有以下物品: 公共类项目{字符串值;列出拥有者;人物创造者;}公共类人{字符串名称;内部标识;人事经理;} 现在我有一个包含 3 个 Item 对象的列表: i1 ->{value="1", 所有者=[p1, p2, p3], 创建者=p4}i2 ->{value="2", 所有者=[p2, p3], 创建者=p5}i3 ->{value="3", 所有者=[p5], 创建者=p1
..
公共类消息{私人 int id;私人用户发件人;私人用户接收器;私有字符串文本;私人日期发送日期;..} 我有 列表list=new ArrayList(); 我需要将它们转换为 TreeMap>地图 我知道如何使用 HashMap 进行转换 list.stream().collect(Collectors.groupingBy(Message::getSender)); 但我需
..
自从 java-9 调用 Collectors.flatMapping 作为分组或分区的下游发生.例如(示例取自 here): 列表>列表 = Arrays.asList(Arrays.asList(1, 2, 3, 4, 5, 6),Arrays.asList(7, 8, 9, 10));映射>地图 =list.stream().collect(Collect
..
我想计算一个流的不同元素,想知道为什么 流流 = Stream.of("a", "b", "a", "c", "c", "a", "a", "d");映射counter1 = stream.collect(Collectors.toMap(s -> s, 1, Integer::sum)); 不起作用.Eclipse 告诉我 类型Collectors中的toMap(Fun
..
对于返回 Map> 的 Collectors.groupingBy() 是否暗示 Listcode> 是为了评估流吗? 我没有看到列表排序的明确描述,而并发版本明确声明没有排序.如果它不是以某种方式订购的,我希望它是一个集合,我看不出它可能是什么其他订购,除了收到的订单. 我希望可以保证每个列表中的最后一个值是该组收到的最后一个值. 解决方案 grou
..
我想从 Map 中提取一个 List (E 是随机的类)使用 stream(). 我想要一个使用 java 8 的流的简单单行方法. 到目前为止我所尝试的: HashMap>map = new HashMap();列出列表 = map.values();//不编译list = map.values().stream().collect(Collectors.toLis
..
我有一个想要转换和过滤的 Java 地图.作为一个简单的例子,假设我想将所有值转换为整数,然后删除奇数项. Map输入 = 新哈希映射();input.put("a", "1234");input.put("b", "2345");input.put("c", "3456");input.put("d", "4567");映射输出 = input.entrySet().str
..
我的文档如下所示: 数据.txt 100, "一些文字"101,“更多文字"102、《更多文字》 我使用正则表达式处理它并返回一个新的处理文档,如下所示: 流行 = Files.lines(Paths.get(data.txt);模式正则表达式 = Pattern.compile("([\\d{1,3}]),(.*)");列出结果 =行.map(正则表达式::匹配器)
..
我有一个字符串流: 流流 = ...; 我想创建一个字符串使用 stream.collect(Collectors.joining(',', '[', ']')) 只有我想返回“无字符串"如果流不包含任何元素. 我注意到 String java.util.stream.Stream.collect(Collector collector)方法接受类型为 ja
..
如果解决方案非常明显,请原谅我,但我似乎无法弄清楚如何做到这一点 public static void main(String[] args) {映射map = new HashMap();map.put("b1", "a1");map.put("b2", "a2");map.put("b3", "a1");映射>mm = map.values().
..
我想初始化一个 Map 并希望始终从流外部放置相同的 BigDecimal 值. BigDecimal samePrice;设置放;set.stream().collect(Collectors.toMap(Function.identity(), samePrice)); 然而 Java 抱怨如下: 类型 Collectors 中的方法
..
我有一个包含其他对象列表的对象,我想返回由容器的某些属性映射的包含对象的平面图.是否可以仅使用流和 lambdas? 公开课销售{字符串客户端名称;双倍总数;列表产品;}公共类产品{字符串名称;字符串值;} 让我们假设一个操作列表: 列表操作 = 新的 ArrayList();操作流().filter(s -> s.getTotal > 10).collect(groupin
..
如果我有集合 Point ,如何在单次迭代中使用 Java 8 流计算 x,y 的平均值. 以下示例创建两个流 &在输入集合上迭代两次以计算 x & 的平均值是的.他们是否有任何方法可以使用 java 8 lambda 在单次迭代中计算平均 x,y: List点=Arrays.asList(new Point2D.Float(10.0f,11.0f), new Point2D.Float(
..
我有一个如下所示的集合,我想过滤掉除非月末日期之外的所有内容. 2010-01-01=2100.00,2010-01-31=2108.74,2010-02-01=2208.74,2010-02-28=2217.92,2010-03-01=2317.92,2010-03-31=2327.57,2010-04-01=2427.57,2010-04-30=2437.67,2010-05-01=2537
..
..
我有一个 List 可以表示(简化)JSON 样式: [ { 代码=欧元,描述=欧元,比率=1 },{ 代码=美元,描述=美元,比率=1.1 } ] 我想像这样在 Map 中转换它: { EUR={ codice=EUR, description=Euro, ratio=1 }, USD={ codice=USD,描述=美元,比率=
..
我有以下类结构 公共类商店{私有长存储ID;私人长masterStoreId;私有字符串操作符标识符;}公共类 StoreInfo {私有字符串操作符标识符;私设slaveStoreIds;公共 StoreInfo(String operatorIdentifier, Set slaveStoreIds) {极好的();this.operatorIdentifier = ope
..
在 Java Streams 中 - stream.max(Comparator) 和 stream.collect(Collectors.maxBy(Comparator)) 在性能方面有什么区别.两者都将根据传递的比较器获取最大值.如果是这种情况,为什么我们需要使用 collect 方法进行收集的额外步骤?我们什么时候应该选择前者还是后者?适合同时使用两者的用例场景有哪些? 解决方案
..
我想通过 Java 8 Stream 和 Collector 接口将 Map 转换为 ConcurrentHashMap,然后是我可以使用的两个选项. 第一个: Mapmb = people.stream().collect(Collectors.toMap(p ->页,p ->p.name,(名称 1,名称 2)->姓名1+";"+姓名2,ConcurrentHashMap::new))
..