Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Netbeans代码转换_Java_Netbeans - Fatal编程技术网

Java Netbeans代码转换

Java Netbeans代码转换,java,netbeans,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

我正在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);
        }
    });
//代码1
对于(int j=0;j{
系统输出打印LN(a1);
});
//代码4
a、 stream().forEach(新使用者(){
@凌驾
公共void接受(整数x1){
系统输出打印ln(x1);
}
});
对于最后一段代码,“java.util.function.Consumer”被导入。
我想知道这些方法之间是否有任何显著的区别,如果有,那么它们是什么?

创建流的第三个和第四个片段会有一些额外的开销,因此它们的效率会稍低一些

有第五个选项是最短的:

a.forEach(System.out::println)

这是非常有用的,但是我需要更详细地了解他们在理解代码之间的差异方面的工作。@Piyush您应该阅读lambda表达式、流和方法引用,以理解第3个和第4个示例,以及我的代码片段。我不认为前两种方法需要任何解释,因为这是基本的Java代码,然后缩短长度,这种方法对代码有其他影响吗?比如让代码更快还是什么?@PiyushVishwakarma好吧,第一个和第二个代码片段,以及我的代码片段,应该都有类似的性能。由于流的开销,其他两个可能会稍微慢一些。