-
4
查看全部 -
3
查看全部 -
2
查看全部 -
什么是Lambda
查看全部 -
123查看全部
-
123查看全部
-
lambda表达式的基本语法
声明:就是和lambda表达式绑定的接口类型
参数:包含在一对圆括号中,和绑定的接口中的抽象方法中的参数个数及顺序一致
操作符;->
执行代码块:包含在一对大括号中,出现在操作符的右侧
[接口声明]=(参数)-> {执行代码块}
注:lambda表达式,必须和接口进行绑定
lambda表达式的参数,可以附带0个到n个参数,括号中的参数类型可以不用指定,jvm在运行时,会自动根据绑定的抽象方法中的参数进行推广
lambda表达式的返回值,如果代码只有一行,并且没有大括号,不用写return关键字,单行代码的执行结果,会自动返回,如果添加了大括号,或多行代码,必须通过return返回结果
//没有参数,没有返回值
interface ILambal{
void test();}
//有参数,没有返回值
interface ILambal{
void test(String name,int age);}
//有参数有返回值
interface ILambal{
int test(int x,int y);}
查看全部 -
java.util.function提供大量的函数式接口
Predicate 接受参数T对象,返回一个boolean类型结果
Consumer 接受参数T对象,没有返回值
Function 接受参数T对象,返回R对象
Supplier 不接受任何参数,直接通过get获取指定类型的对象
UnaryOperator 接口参数T对象,执行业务处理后,返回更新后的T对象
BinaryOperator接口接受两个T对象,执行业务处理后,返回一个T对象
查看全部 -
总结查看全部
-
Stream常用api
查看全部 -
Stream常用api
查看全部 -
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
personList.add(new Person("kar","男",22));
personList.add(new Person("nioa","女",15));
personList.add(new Person("duola","男",32));
personList.add(new Person("miky","女",55));
personList.add(new Person("sisi","男",44));
personList.add(new Person("holy","女",42));
//原始方法
// Collections.sort(personList, new Comparator<Person>() {
// @Override
// public int compare(Person o1, Person o2) {
// return o1.getAge() - o2.getAge();
// }
// });
// System.out.println(personList);
//lambda方法
// Collections.sort(personList,(o1, o2) -> o1.getAge() - o2.getAge());
// System.out.println(personList);
//lambda静态方法使用
// Collections.sort(personList,Person::compareByAge);
// System.out.println(personList);
//lambda实例方法引用
Person person = new Person();
Collections.sort(personList,person::compareByAge2);
System.out.println(personList);
//构造方法引用
InitPerson initPerson = Person::new;
initPerson.initPerson("张三","男",123);查看全部 -
深入理解lambda表达式
查看全部 -
方法重载和lambda表达式
查看全部 -
类型检查
查看全部
举报