1.所有集合都新增了forEach 方法
1.2 List 区别
1.2.1 ArrayList
ArrayList 无参初始化时,Java 7 是直接初始化 10 的大小,Java 8 去掉了这个逻辑,初始化时是空数组,在第一次 add 时才开始按照 10 进行扩容,下图是源码的差异对比图:
1.3 Map 区别
1.3.1 HashMap
和 ArrayList 一样,Java 8 中 HashMap 在无参构造器中,丢弃了 Java 7 中直接把数组初始化 16 的做法,而是采用在第一次新增的时候,才开始扩容数组大小;
hash 算法计算公式不同,Java 8 的 hash 算法更加简单,代码更加简洁;
Java 8 的 HashMap 增加了红黑树的数据结构,这个是 Java 7 中没有的,Java 7 只有数组 + 链表的结构,Java 8 中提出了数组 + 链表 + 红黑树的结构
新增了一些好用的方法,比如 getOrDefault,我们看下源码,非常简单:
集合在 Java 7 和 8 有何不同和改进
最新推荐文章于 2023-07-29 01:56:34 发布