jdk1.8 stream 计数
时间: 2023-09-01 19:02:12 浏览: 57
在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()方法,可以方便地统计集合中的元素个数。这种方法简洁高效,为我们处理集合提供了很大的便利。
相关问题
jdk1.8stream求交集
可以使用Java 8中的Stream API来求两个集合的交集,示例代码如下:
```java
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> list2 = Arrays.asList(3, 4, 5, 6, 7);
List<Integer> intersection = list1.stream()
.filter(list2::contains)
.collect(Collectors.toList());
System.out.println(intersection); // 输出 [3, 4, 5]
```
这段代码中,我们使用了Stream的filter方法来筛选出list1中与list2相同的元素,然后使用collect方法将结果收集到一个List中。
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]。