我的A1
类有以下两个属性:
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);
}
}
你有什么线索吗?
感谢。
答案 0 :(得分:1)
我发现你的版本已经很可读了,所以我不认为我会用流重写它。但是,这是一个使用流的解决方案:
a1.getList()
.stream()
.flatMap(pes ->
a2.getList()
.stream()
.map(pe -> new MyObject(a2.getCode(), a1.getHour())))
.collect(Collectors.toSet());