2
是否可以用单个Java8 Stream API指令代替本示例中执行的处理,而不是嵌套for循环?Java 8 Stream API等价于嵌套for循环
public static void main(String[] args) {
List<BeanA> aList = Arrays.asList(new BeanA(), new BeanA(), new BeanA());
List<BeanB> bList = Arrays.asList(new BeanB(), new BeanB(), new BeanB());
List<Bean> result = new ArrayList<>();
for (BeanA a : aList) {
for (BeanB b : bList) {
result.add(new Bean(a, b));
}
}
System.out.println("size:" + result.size());
System.out.println("result:" + result);
}
public static class BeanA {
}
public static class BeanB {
}
public static class Bean {
private BeanA a;
private BeanB b;
public Bean(BeanA a, BeanB b) {
this.a = a;
this.b = b;
}
}
哦,我试着用2个flatMap调用,但没有嵌套lambdas这样。感谢:) – Toilal
原始循环代码看起来更清洁虽然 –
地狱日食,它与Javac和IntelliJ IDEA内编译良好,但不使用Eclipse编译,因为它的结果是列表