nefu java作业错题勘误

1.


#2.

2


函数式编程及集合流
正确答案选b

3

是错误的,Lambda表达式能描述无参数的函数

Lambda 表达式是 Java 8 中引入的一种函数式编程特性,它可以用于描述一个函数式接口的实例。函数式接口是指只包含一个抽象方法的接口,Lambda 表达式可以替代这个抽象方法的实现,从而创建一个函数式接口的实例。

Lambda 表达式可以描述不同类型的函数,包括有参数和无参数的函数。对于无参数的函数,Lambda 表达式的语法非常简单,只需要将参数列表留空即可。例如,下面的代码演示了如何使用 Lambda 表达式描述一个无参数的函数:

Runnable r = () -> { System.out.println("Hello, world!"); };

在这个例子中,Lambda 表达式 () -> { System.out.println(“Hello, world!”); } 描述了一个无参数的函数,它的函数体是一个输出语句。这个 Lambda 表达式被赋值给一个 Runnable 接口的实例 r,从而创建了一个 Runnable 对象。当调用 r.run() 方法时,就会执行 Lambda 表达式中的代码,输出 “Hello, world!”。

需要注意的是,Lambda 表达式只能用于描述函数式接口的实例,而无法直接创建一个函数。如果需要在 Lambda 表达式中使用变量或者执行更复杂的逻辑,那么就需要将 Lambda 表达式封装到一个函数式接口中,从而创建一个函数式接口的实例。

4

Java 中的 Stream 是一种用于表示和操作集合数据的容器。它提供了一种函数式编程的方式,可以对集合中的元素进行过滤、映射、排序、聚合等操作,从而让代码更加简洁、清晰和易于维护。

Stream 是 JDK 8 中引入的特性,它可以用来表示一个元素序列,并支持串行和并行的操作。在使用 Stream 时,首先需要将集合转换为一个 Stream,然后对 Stream 进行一系列的中间操作,最后进行终止操作来获取结果。

Stream 的中间操作可以包括过滤、映射、排序、去重等操作。这些操作都是惰性求值的,也就是说,它们不会立即执行,而是在终止操作执行时才会触发计算。终止操作可以包括聚合、收集、归约等操作,它们会触发计算并返回最终结果。

需要注意的是,Stream 是一种临时的数据结构,它不会改变原有的集合数据,而是通过中间操作和终止操作来生成新的数据。因此,在使用 Stream 时需要注意,不要修改原有的集合数据。

总之,Stream 是一种用于操作集合数据的容器,它提供了一种函数式编程的方式,可以让代码更加简洁、清晰和易于维护。

5

返回的依旧是stream类型

6

返回的是集合,只不过将符合条件的元素都放置于新的集合中

7 Optional

在这里插入图
片描述

Optional 类型并不是一种集合类型,它是 Java 8 中引入的一种用于表示可能为空的值的容器类型。它可以用来避免空指针异常,并且可以让代码更加健壮和易于理解。

Optional 类型只能包含一个对象,如果对象存在,则调用 get() 方法可以获取该对象,否则将抛出 NoSuchElementException 异常。如果需要向 Optional 中添加多个同类型的对象,则需要使用集合类型,例如 List、Set 等。

Optional 类型的主要作用是表示一个可能为空的值,它可以用于避免空指针异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值