java8的特性:
java8之前HashMap高效的原因:
1.非一一比较式的数据结构 ,采用hashcode计算存储位置
2.hashcode一致碰撞成链表
3.Hash扩容值是0.75/1,链表式值重新移入到新的位置
java8将hashMap/hashSet中添加了红黑树结构,从而效率更高:
数据--链表--红黑树(新)
碰撞的个数大于 8,总容量大于64,转变红黑树,减少碰撞时比较的次数
----------------java8核心特性是Lambda表达式和Stream API
Stream ApI减少了sql的复杂操作
----------------Lambda表达式(让代码写的更少)------------------
可以将Lambda表达式理解为一段可以传递的代码
下面的java7和java8代码可以比较体会下
实例1:
Lambda表达式分为俩部分
实例如下:
--------------------------Lambda表达式类型推断-----------------------
实例如下:
---------------------------方法引用和构造器引用-----------------------------
------------------------Stream API----------------------------
创建的流有俩种:
1.顺序流(stream)
2.并行流(parallelStream)
体会:在大数据中有批处理和流处理,也叫离线和实时处理,java8将大数据的俩大主要数据处理方式进行了集成,从而适应了大数据的趋势
数组创建流:通过Arrays的静态方法stream
无限流:
Stream.itrate()和Stream.generate();
------------------------Stream的中间操作------------------------
------------------------Stream的终止操作------------------------
-------------------------------并行流和串行流------------------------------