知识点1
方法引用:
[1]静态方法引用: 当lambda表达式满足:(args)->类名.静态方法(args). 类名::静态方法;
[2]实例方法引用: 当lambda表达式满足:(args)->对象.普通方法(args)。 对象::普通方法。
[3]对象方法引用: 当lambda表达式满足:(inst,args)->inst.普通方法(args) 类名::普通方法。
[4]构造方法引用: 当lambda表达式满足: (args)->new 构造函数(args); 类名::new
知识点2
Stream流:
[1]获取Stream流对象:
(1) 集合对象名.stream();
(2) Arrays.stream()
(3)Stream.of(object...);
[2] 通过Stream流对象操作类中的API方法。
(1)中间操作方法: --- 里面的代码如果没有调用终止操作,那么中间操作的代码不会执行。
filter(Predicate pre): 过滤
map(Function ): 把集合中的每个元素转化成想要的类型
sorted(Compactor ) 排序:
skip(int n):跳过
limit(int n): 获取前n个元素
distinct(): 去重
concat():合并两个stream
(2) 终止操作:-----终止stream.---调用了终止操作里面所有的中间操作会被执行。
count():
max(compactor ):
min():
reduce() 规约
forEach(): 遍历
collect:-----搜集 -----toList toSet类型
findFirst:-----查询集合中第一个元素。
allmatch|anyMatch: ---
一丶练习一
List<Person> personList = new ArrayList<>();
personList.add(new Person("欧阳雪",18,"中国",'F'));
personList.add(new Person("Tom",44,"美国",'M'));
personList.add(new Person("Harley",22,"英国",'F'));
personList.add(new Person("向天笑",20,"中国",'M'));
personList.add(new Person("李康",32,"中国",'M'));
personList.add(new Person("小梅",18,"中国",'F'));
personList.add(new Person("阿米尔汗",21,"泰国",'F'));