本博文只是介绍有哪些新特性,具体特性的详细介绍请翻看其他博文
红黑树
hashmap和concurrentHashMap中使用了红黑树。
性质1. 节点是红色或黑色。
性质2. 根节点是黑色。
性质3 每个叶节点(NIL节点,空节点)是黑色的。
性质4 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)
性质5. 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。
红黑树不是高度平衡的,算是一种折中,插入最多两次旋转,删除最多三次旋转,时间复杂度为常量。AVL 树是高度平衡的,频繁的插入和删除,会引起频繁的reblance,导致效率下降,时间复杂度为O(logn)。
红黑树与平衡二叉树的查找性能相同。但是当插入节点和删除节点从而破坏树的平衡性时,红黑树需要做旋转调整的次数比平衡二叉树所需的旋转调整的次数要少的多,其查找,插入,删除的操作时间复杂度均为O(Log2n)。
lambda
引入新的操作符"->",操作符左侧:表达式的参数列表,右侧:需要执行的功能。
即将一块代码赋予给变量。
语法格式一:无参数,无返回值
Runnable r2 = () -> System.out.println("hello lambda");
r2.run();
语法格式二:有一个参数,并且无返回值 (x) -> System