这是这个问题的延续Java8流比较两个对象并在它们上运行一个函数
Class BigRequest{
String bId;
List<Parts> parts;
//getters and setter here
}
Class Parts{
String pId;
String partId;
//getters and setter here
}
我的问题是根据一些动态参数将集合(使用Java8流)拆分成更小的组件。动态参数可以根据传递给方法splitParts的不同条件(这里,我给出的示例是getPartId()相同)而改变,该方法的返回类型是一组部件的列表
List<Set<Parts>> splitParts(BigRequest big){}
我尝试了以下方法:
//groupingBy function but that returns a Map
Map<String, List<Parts>> parts = big.getParts().stream().collect(Collectors.groupingBy(Parts::getPartId));
//doesn't do it accurately
big.getParts().stream().filter(p -> p.getPartId.equals(p.getPartId())).collect();
如何根据动态参数拆分流(可能通过调用函数接口而不是减少方法),然后在其上运行方法?
我的函数签名是
List<Set<Parts>> splitParts(BigObject b){}
我想这样做可能有助于保持分裂状态的动态性,但我不知道该怎么做?
big.getParts().stream().reduce(MyFuncInterface::divide);
然后使用forEach(),我想我可以迭代列表并调用abc()方法。
我怎样才能做得更好?
非常感谢您的帮助。
如果你想要一个列表
Map<String, Set<Parts>> parts = big.getParts().stream().collect(
Collectors.groupingBy(Parts::getPartId, Collectors.toSet()));
调用
部件。values()
将返回一个集合
List<Set<Parts>> list = new ArrayList<>(parts.values());
或者,你可以将其重新流式传输,这样你就可以在一个呼叫链中完成:
List<Set<Parts>> list = big.getParts()
.stream()
.collect(Collectors.groupingBy(Parts::getPartId,
Collectors.toSet()))
.values()
.stream()
.collect(Collectors.toList());
基本上,我要问的是给定一个正方形2D阵列和一个有效的补丁大小(2D子阵列的大小),我将如何做到这一点。最终,我不需要以任何方式存储子阵列,我只需要找到每个子阵列的中值并将它们存储在一个一维阵列中。中值和存储到新阵列对我来说很简单,我只是不知道如何处理原始2D阵列并正确拆分它。我已经尝试了几次,但一直出现越界错误。我有一个4x4: 我需要像这样拆分它 < code>[1,2] [3,4] [2,3]
问题内容: 我有一个电子邮件数组(可以是1封电子邮件,也可以是100封电子邮件),我需要用ajax请求发送该数组(我知道该怎么做),但是我只能发送一个包含以下内容的数组不超过10封电子邮件。因此,如果原始阵列中包含20封电子邮件,我将需要将其拆分为2个阵列,每组10个。或者,如果原始数组中有15封电子邮件,那么1数组中的10封电子邮件,以及另一个数组中的5封电子邮件。我使用的是jQuery,哪种方
我有一个具体的问题。也有一些类似的问题,但这些问题要么与Python有关,而不是与Java有关,要么即使问题听起来类似,需求也不同。 我有一份价值观清单。 最后,我想根据列表的值对列表进行拆分。我的意思是,如果值大于零,它将保留在原始列表中,负值列表中的相应索引将设置为零。如果该值小于零,它将转到负值列表,原始列表中的负值将替换为零。 结果列表应该是这样的; 有没有办法解决这个流api在Java?
我想使用Java8 streams API对数据进行分组。所有具有父_id的行都应分组在一起。下面是示例文本文件。结果应该是一个映射,其中id是一个整数,值是各自分组的行。例如,在下面的例子中,结果将是一个包含3个条目的映射。键1对应2个值,键2对应无值,键3对应1个值。 代码片段是: 输出可以是:。 简单的规则是:如果父母ID不是空的,这些记录应该被分组到一个列表中。这个列表将被视为map中的值
我有下面的课