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編譯,因爲它的結果是列表