本文介绍: 考虑到Stream API在实际开发使用频率越来越高,而且在可读性、简洁性和实用性上都十分出色,特别新增一个练习章节以便帮助大家更好掌握它。

作者简介大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO

联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬

考虑到Stream API在实际开发使用频率越来越高,而且在可读性、简洁性和实用性上都十分出色,特别新增一个练习章节以便帮助大家更好掌握它。

预先准备实验数据

获取所有的Person的名字

  • 要么对象实现Comparable接口(对象自身可比较)
  • 要么传入Comparator进行比较(引入中介,帮对象们进行比较)

  • filter()、map()如果逻辑过长,最好抽取函数
  • IntStream、LongStream、DoubleStream在统计方面比Stream方法更丰富,更好
  • collect()是最强大的,但一般掌握上面6种情景问题不大
  • 去重的原理利用hashCode()和equals()来确定两者是否相同,无论是自定义对象还是String、Integer等常用内置对象,皆是如此
  • 排序的原理是,要么自身实现Comparable接口,要么传入Comparator对象,总之要明确比较的规则
  • 平时可能觉得skip()、limit()用不到,但需要截取List或者内存分页时,可以尝试一下
  • 尽量用Stream代替List原生操作,代码健壮性和可读性都会提升一个台阶

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO

进群,大家一起学习,一起进步,一起对抗互联网寒冬

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注