2019.4.17
提炼出了对自己有用的东西,记录了学习过程便于复习。不过例子都来自于参考文章,链接已经在文中贴出。
1. 学习了lamda表达式,简单粗暴的语法糖,被它的功能强大所震撼。
①基础的用法比如匿名函数
//1. 接受2个参数(数字),并返回他们的差值
(x, y) -> x – y
//2. 接收2个int型整数,返回他们的和
(int x, int y) -> x + y
//3. 接受一个 string 对象,并在控制台打印,不返回任何值(看起来像是返回void)
(String s) -> System.out.print(s)
②遍历,这里player是迭代的对象名,会根据集合类型自动获取类型,相当于常用for循环里常命名的 i 变量
// 遍历输出
players.forEach((player) -> System.out.print(player + "; "));
③匿名内部类,可以用lambda表达式匿名实现其接口方法(不详述,见下方④举例)
④排序
// 1.1 使用匿名内部类根据 name 排序 players
Arrays.sort(players, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return (s1.compareTo(s2));
}
});
// 1.2 如果使用 lambda expression 排序 players
Comparator<String> sort