【千鋒教育】Java8新特性-集合流式編程(快速上手)

流式編程目的:
使編程更加簡(jiǎn)單可讀性更高
步驟與涉及方法:
- 讀取數(shù)據(jù),轉(zhuǎn)化為Stream流
- 對(duì)Stream流數(shù)據(jù)進(jìn)行中間操作
- filter 按要求過濾
- distinct 去重操作
- sorted
- .sorted() 無參:根據(jù)數(shù)據(jù)接口提供的比較規(guī)則進(jìn)行排序
- .sorted((s1,s2) -> s1.getXXX() - s2.getXXX()) 有參:自定義規(guī)則對(duì)數(shù)據(jù)進(jìn)行排序
- limit & skip 兩者可配合使用
- limit 限制,截取流中指定數(shù)量的元素
- skip 跳過,跳過流中指定數(shù)量的元素,截取剩余的部分
- map & flatMap
- map 元素映射,提供映射規(guī)則,將流中的每個(gè)元素替換成指定的元素
- flatMap 扁平化映射,一般用在 map 映射完成后,流中的數(shù)據(jù)是一個(gè)容器,當(dāng)前需要對(duì)容器中數(shù)據(jù)進(jìn)行處理。
- mapToInt 返回結(jié)果為 Int 類型的 Map 集合
- 將Stream流數(shù)據(jù)整合轉(zhuǎn)化為最終結(jié)果
- collect 整合為集合
- reduce 安要求聚合
- count 求結(jié)果個(gè)數(shù)
- forEach 遍歷數(shù)據(jù)
- max & min 求極值
- Matching 匹配操作,判斷元素是否滿足條件
- find 查找操作
- intStream的額外操作
- .max(); .min(); .sum(); .average(); .count();
- .summaryStatistics(); 對(duì)流中的數(shù)據(jù)進(jìn)行分析(可同時(shí)對(duì)數(shù)據(jù)進(jìn)行多種分析)
標(biāo)簽: