我的A1
类具有以下 2 个属性:
private String hour;
private List<A2> list;
A2
类:
private String code;
private List<A3> list;
我想做的是用 java 8 找到一种更漂亮的方式来编写这个:
Set<MyObject> set = new HashSet<MyObject>();
for (A1 pes : a1.getList()) {
for (A2 pe : a2.getList()) {
MyObject bppc = new MyObject (a2.getCode(), a1.getHour());
set.add(bppc);
}
}
你有什么线索吗?
谢谢。
最佳答案
我发现你的版本已经很可读了,所以我不认为我会使用流重写它。然而,无论如何,这里有一个使用流的解决方案:
a1.getList()
.stream()
.flatMap(pes ->
a2.getList()
.stream()
.map(pe -> new MyObject(a2.getCode(), a1.getHour())))
.collect(Collectors.toSet());
关于Java 8 : mapping list inisde a list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39595149/