69、描述流的中间操作和终端操作之间的区别。
流操作分类
中间操作(惰性操作)
- 中间操作在流上执行时不会处理流的元素,直到调用另一个终端操作。
- 中间操作产生另一个流。
- 不读取数据源的数据,是无结果操作。
终端操作(急切操作)
- 终端操作从数据源拉取元素并通过流管道,产生结果,是有结果操作。
- 流在调用终端操作之前是惰性的,调用终端操作后才开始处理数据。
- 此外,调用终端操作后流不能再被重用。
70、创建一个包含从 10 到 30 所有整数的 Stream ,并计算列表中所有整数的和。
可以使用 Java 8 的 Stream API 来实现。示例代码如下:
import java.util.stream.IntStream;
public class Main {
public static void main(String[] args) {
int sum = IntStream.rangeClosed(10, 30).sum();
System.out.println("Sum = " + sum);
}
}
在上述代码中, IntStream.rangeClosed(10, 30) 创建了一个包含从 10 到 30 所有整数的 IntStream,然后使用 sum() 方法计算所有整数的和。
71、完成以下代码片段,使用流计算名字列表中字符的总数:List names = List.of( “Mo”, “Jeff”, “Li”, “Dola”); int sum = names.stream() ./ 此处填写代码 /; System.out.println(“Total characters: ” + sum);
mapToInt(String::length).sum()
72、完成以下代码片段,创建两个空的 Stream 。你应该使用 Stream 接口的不同方法来完成代码:Stream noNames1 = Stream./ 此处填写代码 /; Stream noNames2 = Stream./ 此处填写代码 /;
Stream<String> noNames1 = Stream.empty();
Stream<String> noNames2 = Stream.ofNullable(null);
73、Stream 接口中用于将流中的元素数量限制为指定大小的方法是什么?
limit(long maxSize) 方法
74、Stream 接口中用于跳过流中指定数量元素的方法是什么?
skip(long count) 方法可用于跳过流中指定数量的元素。
75、描述以下代码片段生成的流的特征:Stream stream = Stream.generate(() -> 1969);
该代码使用 Stream.generate() 方法生成一个流,其特征是这是一个无限流,流中的每个元素都是 1969 。
76、Optional 类的实例有什么用途?
`Optional<T>` 类的实例用于优雅地处理空指针异常。可能不返回任何内容的方法应返回 `Optional` 而不是 `null`。它是一个容器对象,可能包含也可能不包含非空值。
- `isPresent()` 方法可判断是否包含非空值。
- `get()` 方法可获取非空值,若为空则抛出 `NoSuchElementException`。
使用 `Optional` 能让开发者按设计方式使用对象,避免空指针异常。
77、完成以下代码片段,该代码旨在打印列表中非空 Optional 中人员的姓名以及姓名中的字符数:List > names = List.of( Optional.of(“Ken”), Optional.empty(), Optional.of(“Li”), Optional.empty(), Optional.of(“Toto”));names.stream() .flatMap(/ 此处填写代码 /) .forEach(/ 此处填写代码 /);
names.stream()
.flatMap(Optional::stream)
.forEach(name -> System.out.println(name + ": " + name.length()));
78、Stream 接口中 peek() 方法的用途是什么?
peek() 方法仅用于调试,它会在应用指定操作后生成一个新流。通常可以结合 lambda 表达式,用于记录正在处理的元素信息。
79、Stream 接口中 map() 和 flatMap() 方法的用途是什么?
下面是给定的【文本内容】:
map() 方法用于实现一对一映射,将输入流的每个元素映射为输出流中的一个元素。
flatMap() 方法支持一对多映射,它先使用映射函数将输入流转换为流的流,再将流的流扁平化,最终生成一个流。

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



