java list.foreach
时间: 2023-06-25 07:04:05 浏览: 47
`List.foreach()` 是 Java 8 中新增的一个方法,它可以方便地对 List 中的每个元素执行一些操作。该方法接受一个函数式接口 `Consumer` 作为参数,该接口表示一个接受单个输入参数且没有返回值的操作。具体使用方法如下:
```java
List<String> list = Arrays.asList("Hello", "World", "Java");
list.forEach(str -> System.out.println(str));
```
上述代码中,我们首先创建了一个包含三个字符串的 List,然后通过 `list.forEach()` 方法对其中的每个元素执行了一个 lambda 表达式,该表达式输出了每个字符串。
除了 lambda 表达式外,我们还可以使用方法引用的方式来实现 `Consumer` 接口,例如:
```java
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);
nums.forEach(System.out::println);
```
上述代码中,我们使用了 `System.out::println` 方法引用来表示一个接受单个参数并输出到控制台的操作。
相关问题
list.foreach和stream.foreach
list.foreach和stream.foreach都是用于遍历集合中的元素的方法。
list.foreach是List集合中的方法,它可以对List集合中的每个元素进行操作,例如打印出每个元素的值。
stream.foreach是Java 8中Stream API中的方法,它可以对Stream中的每个元素进行操作,例如过滤出符合条件的元素并打印出来。
两者的区别在于,list.foreach是对List集合进行操作,而stream.foreach是对Stream流进行操作。Stream流是Java 8中引入的新特性,它可以对集合进行更加灵活的操作,例如过滤、映射、排序等。因此,使用Stream API可以更加方便地对集合进行操作。
list.stream.forEach和list.forEach的区别
`List.forEach()` 是集合类 `List` 的方法,接收一个 `Consumer` 函数式接口作为参数,可以对集合中的每个元素进行操作。该方法在遍历集合时是按照元素插入的顺序来进行的。
`List.stream().forEach()` 是 Java 8 中引入的新特性,通过把集合转换成流,可以使用流的各种操作(如过滤、映射、排序等)。`List.stream().forEach()` 和 `List.forEach()` 的本质区别在于前者会先把集合转换成流,然后再进行遍历操作。使用 `List.stream().forEach()` 的好处是可以利用流的各种操作,对元素进行更加灵活的操作,同时也可以利用多线程的优势进行并行操作,提高程序的效率。