【发布时间】:2018-10-27 19:02:44
【问题描述】:
我正在学习 Java 8 Lambda 和一元函数接口。我有一个关于“功能”类的练习作业,内容如下:
1) 使用 main 方法创建一个名为“FunctionTest”的类
2) 创建一个函数变量并将其称为“setToList”
3) 为 setToList 分配一个 lambda 表达式,其中获取一个 Set 它创建一个 Arraylist 并添加 Set
的所有元素
4) 创建一个 HashSet 并添加以下世界:“Ciao”、“Hello”、“Hallo”、“Bonjour”
5) 调用lamda表达式并查看结果
我尝试了以下方式,但它不起作用。特别是,我认为我错了 3) 步骤。我需要了解如何迈出这一步
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
public class FunctionTest {
public static void main(String[] args) {
Function<Set, List> setToList = s -> new ArrayList<Set>();
HashSet<String> hs = new HashSet<String>();
hs.add("ciao");
hs.add("hello");
hs.add("hallo");
hs.add("bonjour");
System.out.println(setToList.apply(hs));
}
}
【问题讨论】:
-
Function<Set<String>, List<String>> setToList = s -> new ArrayList<String>(s); -
@Eugene 它工作正常!谢谢!请回答,我会评估您的回答!
-
不明白为什么这个问题被否决了。是的,这是家庭作业,但 OP 已经展示了他迄今为止所做的尝试。
-
@Morgan 是的,我也是!!我不明白!当然,这不是学校的作业!我只是想了解这些东西是如何工作的,并且我会通过一些练习来学习电子学习课程,仅此而已!我写那个hust是为了理解
标签: java lambda java-8 set unary-function