jdk 1.8 stream 中 for each 用法
时间: 2023-08-03 21:36:26 浏览: 51
在 Java 8 中,可以使用 Stream API 来实现类似于 C++ 中的 for each 的功能。
Stream API 是 Java 8 中新添加的一个功能,它可以更加方便地对集合、数组等进行操作。下面是一个使用 Stream API 实现 for each 的示例:
```java
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).forEach(n -> System.out.print(n + " "));
}
}
```
在上述代码中,我们使用 `Arrays.stream(arr)` 方法将数组转换为一个 IntStream 对象,然后使用 `forEach` 方法遍历该对象中的每个元素,并输出到控制台中。
需要注意的是,Stream API 中的 `forEach` 方法并不是在集合上直接进行遍历的,而是将遍历操作交给了 Stream 流处理。这样可以更好地利用多核处理器和并行处理,提高程序的性能。
相关问题
jdk1.8 stream 计数
在JDK 1.8中,Stream(流)提供了一种简洁和灵活的方式来处理集合(如List、Set、Map等)中的元素。Stream提供了许多操作,其中之一就是计数。
Stream的计数操作可以通过count()方法来实现。这个方法返回一个long类型的值,表示Stream中的元素个数。
假设有一个List<String> list = Arrays.asList("apple", "banana", "orange", "grape")。我们可以通过以下代码来统计List中的元素个数:
long count = list.stream().count();
在这个例子中,我们首先通过stream()方法将List转换为一个Stream。然后,我们调用count()方法来计算Stream中的元素个数,并将结果赋值给count变量。
如果打印输出count的值,就可以得到输出结果为4,因为list中有4个元素。
总结一下,JDK 1.8中的Stream提供了计数操作count()方法,可以方便地统计集合中的元素个数。这种方法简洁高效,为我们处理集合提供了很大的便利。
jdk 1.8 stream 常用方法及场景示例
JDK 1.8 Stream 是 Java 8 中引入的一种新型集合类型,可以让我们更方便地对集合进行操作。以下是 JDK 1.8 Stream 常用方法及场景示例:
1. filter() 方法:过滤集合中的元素
示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = list.stream().filter(x -> x > 3).collect(Collectors.toList());
```
这段代码会将集合中大于 3 的元素筛选出来,最终得到一个新的集合 [4, 5]。
2. map() 方法:对集合中的每个元素进行操作,并返回新的集合
示例代码:
```java
List<String> list = Arrays.asList("apple", "banana", "orange");
List<String> result = list.stream().map(x -> x.toUpperCase()).collect(Collectors.toList());
```
这段代码会将集合中的每个元素转换成大写字母,并返回一个新的集合 ["APPLE", "BANANA", "ORANGE"]。
3. flatMap() 方法:将多个集合合并成一个集合,并去重
示例代码:
```java
List<List<Integer>> list = Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3, 4));
List<Integer> result = list.stream().flatMap(x -> x.stream()).distinct().collect(Collectors.toList());
```
这段代码会将多个集合合并成一个集合,并去除重复元素,最终得到一个新的集合 [1, 2, 3, 4]。
4. reduce() 方法:对集合中的元素进行归约操作
示例代码:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int result = list.stream().reduce(0, (x, y) -> x + y);
```
这段代码会对集合中的元素进行求和,最终得到结果 15。
5. sorted() 方法:对集合中的元素进行排序
示例代码:
```java
List<Integer> list = Arrays.asList(5, 3, 1, 4, 2);
List<Integer> result = list.stream().sorted().collect(Collectors.toList());
```
这段代码会对集合中的元素进行升序排序,最终得到一个新的集合 [1, 2, 3, 4, 5]。