Java Netbeans代码转换

时间:2015-03-13 18:19:51

标签: java netbeans

我在netbeans IDE上使用Java。在netbeans代码转换的帮助下,我发现以下代码使用不同的方法显示相同的东西。 以下是代码,这里是一个ArrayList。

//code 1
for(int j=0;j<a.size();j++)
{
    System.out.println(a.get(j));
}
//code 2
for (Integer a1 : a) {
System.out.println(a1);
}
//code 3
a.stream().forEach((a1) -> {
System.out.println(a1);
});
//code 4
a.stream().forEach(new Consumer<Integer>() {

        @Override
        public void accept(Integer x1) {
            System.out.println(x1);
        }
    });

对于最后一个代码,&#39; java.util.function.Consumer&#39;是进口的。 我想知道这些方法之间是否有任何显着差异,如果是,那么它们是什么?

1 个答案:

答案 0 :(得分:1)

创建Stream的第3个和第4个片段会产生一些额外的开销,因此效率会低一些。

第五个选项是最短的选择:

a.forEach(System.out::println)