一.不可变集合



代码实例

因为这个of是static方法,所以能直接用接口名+方法名的方式调用
有关map的注意事项

细节3中,如果键值对对象的个数超过10个,就要用ofEntries方法

先写右面,用copyof方法,在用快捷键生成左边
总结

二.stream流
1.使用步骤
得到stream流

代码实现
单列集合

双列集合
要先转化成单列集合才能使用

数组

数组里是基本数据类型还是引用数据类型都可以
零散数据
需要保证数据类型是一样的

stream流中间方法

filter详解

绿色的是匿名内部类,比较麻烦,看看就行了,黑色的是Lambda表达式,很简洁
map详解
看视频把,比较碎
stream流终结方法

toArray详解

记住倒数第二行的Lambda表达式就行了,绿色的是匿名内部类的,比较麻烦
collect详解
collect可以收集到list,set,map集合中,其中list和set的示例如下

其中collect()括号中的collectors.tolist是collect中的一个静态方法,在底层生成一个list或者set集合用于储存
map比较复杂,要指定键的规则和值的规则,但用Lambda表达式简化后比较简便

三,方法引用
1.简介
目的就是简化stream流的Lambda表达式

2.方法引用条件
.被引用的方法可以使java自带的,也可以是第三方提供的,也可以是自己写的
3.引用示例

和用类名调用静态方法差不多,就是把.换成了::
4.方法引用分类
引用静态方法


引用成员方法

对于在本类中的方法,需要在不是静态方法的地方引用,因为静态中没有this,可以创建本类的对象再引用方法
引用构造方法

代码实例比较复杂,看视频去吧
需要重写一个满足条件的构造方法
其他调用方法
使用类名引用成员方法


这个方法的独有规则

这个东西的核心意义就是引用成员方法时不用再对象::成员方法了,可以直接用类名调用
而且也存在一定的局限性

引用数组的构造方法

