Stream API
当使用Stream API时,可以通过一系列的中间操作来对集合或数组进行处理,最后再通过终止操作获取结果。下面是一些使用Stream API的示例:
- 集合过滤:
假设有一个List<String>类型的集合,现在需要过滤出其中长度大于3的元素,可以使用如下代码:
List<String> list = Arrays.asList("apple", "banana", "cat", "dog", "elephant");
List<String> filteredList = list.stream()
.filter(str -> str.length() > 3)
.collect(Collectors.toList());
System.out.println(filteredList); // [apple, banana, elephant]
在上面的代码中,我们首先调用stream()方法将集合转换成Stream对象,然后使用filter操作过滤出长度大于3的元素,最后使用collect操作将结果转换为List类型。
- 集合映射:
假设有一个List<Integer>类型的集合,现在需要将其中每个元素乘以2,可以使用如下代码:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> mappedList = list.stream()
.map(num -> num * 2)
.collect(Collectors.toList());
System.out.println(mappedList); // [2, 4, 6, 8, 10]
在上面的代码中,我们首先调用stream()方法将集合转换成Stream对象,然后使用map操作对每个元素进行乘以2的操作,最后使用collect操作将结果转换为List类型。
- 数组排序:
假设有一个int[]类型的数组,现在需要将其中的元素按照从小到大的顺序进行排序,可以使用如下代码:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> mappedList = list.stream()
.map(num -> num * 2)
.collect(Collectors.toList());
System.out.println(mappedList); // [2, 4, 6, 8, 10]
在上面的代码中,我们首先调用Arrays.stream()方法将数组转换成IntStream对象,然后使用sorted操作对元素进行排序,最后使用toArray操作将结果转换为int[]类型。