日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java Stream流知識總結

瀏覽:187日期:2022-08-31 08:21:45

說明

在Java 8中,得益于Lambda所帶來的函數式編程,引入了一個全新的Stream概念,用于解決已有集合類庫既有的弊端

遍歷

傳統集合在于使用循環遍歷

Java 8的Lambda讓我們可以更加專注于做什么(What),而不是怎么做(How),這點此前已經結合內部類進行 了對比說明。現在,我們仔細體會一下上例代碼,可以發現:

for循環的語法就是“怎么做” for循環的循環體才是“做什么”

傳統集合遍歷

import java.util.ArrayList;import java.util.List;/** * @author tanglei * @date 2020/6/10 10:21 下午 */public class NormalFilter { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add('張無忌'); list.add('周芷若'); list.add('趙敏'); list.add('張強'); list.add('張三豐'); List<String> zhangList = new ArrayList<>(); for(String name : list){ if(name.startsWith('張')){ zhangList.add(name); } } List<String> shortList = new ArrayList<>(); for(String name : zhangList){ if(name.length() == 3){ shortList.add(name); } } for (String name : shortList){ System.out.println(name); } }}

Stream的優雅

import java.util.ArrayList;import java.util.List;/** * @author tanglei * @date 2020/6/10 10:28 下午 */public class StreamFilter { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add('張無忌'); list.add('周芷若'); list.add('趙敏'); list.add('張強'); list.add('張三豐'); list.stream() .filter(s -> s.startsWith('張')) .filter(s -> s.length() == 3) .forEach(System.out::println); }}

Stream的優雅使用stream可以十分簡單明了的體現代碼的邏輯

“Stream流”其實是一個集合元素的函數模型,它并不是集合,也不是數據結構,其本身并不存儲任何 元素(或其地址值

獲取流

所有的 Collection 集合都可以通過 stream 默認方法獲取流; Stream 接口的靜態方法 of 可以獲取數組對應的流。

根據Collection獲取流

public static void main(String[] args) {List<String> list = new ArrayList<>();Stream<String> stream1 = list.stream();Set<String> set = new HashSet<>();Stream<String> stream2 = set.stream();Vector<String> vector = new Vector<>();}

根據Map獲取流

public static void main(String[] args) {Map<String, String> map = new HashMap<>();Stream<String> keyStream = map.keySet().stream();Stream<String> valueStream = map.values().stream(); Stream<Map.Entry<String, String>> entryStream = map.entrySet().stream();}

根據數組獲取流

public static void main(String[] args) {String[] array = { '張無忌', '張翠山', '張三豐', '張一元' };Stream<String> stream = Stream.of(array); }

常用方法

逐一處理:forEach會將每一個流元素交給該函數進行處理

public static void main(String[] args) {Stream<String> stream = Stream.of('張無忌', '張三豐', '周芷若');stream.forEach(name?> System.out.println(name)); }

過濾:filter可以通過 filter 方法將一個流轉換成另一個子集流

public static void main(String[] args) {Stream<String> original = Stream.of('張無忌', '張三豐', '周芷若');Stream<String> result = original.filter(s ?> s.startsWith('張')); }

映射:map如果需要將流中的元素映射到另一個流中

public static void main(String[] args) {Stream<String> original = Stream.of('10', '12', '18');Stream<Integer> result = original.map(str?>Integer.parseInt(str)); }

統計個數:count數一數其中的元素個數

public static void main(String[] args) {Stream<String> original = Stream.of('張無忌', '張三豐', '周芷若'); Stream<String> result = original.filter(s ?> s.startsWith('張')); System.out.println(result.count()); // 2}

取用前幾個:limit可以對流進行截取,只取用前n個

public static void main(String[] args) {Stream<String> original = Stream.of('張無忌', '張三豐', '周芷若'); Stream<String> result = original.limit(2); System.out.println(result.count()); // 2}

跳過前幾個:skip如果希望跳過前幾個元素

public static void main(String[] args) {Stream<String> original = Stream.of('張無忌', '張三豐', '周芷若'); Stream<String> result = original.skip(2); System.out.println(result.count()); // 1}

組合:concat如果有兩個流,希望合并成為一個流

public static void main(String[] args) {Stream<String> streamA = Stream.of('張無忌'); Stream<String> streamB = Stream.of('張翠山'); Stream<String> result = Stream.concat(streamA, streamB);}

感謝

黑馬程序員

以及勤勞的自己

以上就是Java Stream流知識總結的詳細內容,更多關于Java Stream流的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
视频福利一区| 精品一区二区三区中文字幕在线| 精品视频97| 欧美a在线观看| 国产精品久久国产愉拍| 国产欧美88| 精品国产午夜| 裤袜国产欧美精品一区| 欧美gv在线| 国产精品欧美三级在线观看| 免费亚洲婷婷| 精品1区2区3区4区| 精品一区91| 狠狠久久婷婷| 日韩久久99| 亚洲一级影院| 日韩免费精品| 91精品啪在线观看国产18| 久久高清国产| 亚洲午夜久久| 国产精品网址| 最近高清中文在线字幕在线观看1| 日韩欧美一区二区三区免费看| 久久久国产精品一区二区中文| 成人av动漫在线观看| 亚洲美洲欧洲综合国产一区| 亚洲精品婷婷| 久久精品99国产精品日本| 欧美aa在线视频| 久久激情中文| 亚洲人成高清| 国产一区二区三区亚洲综合| 激情综合在线| 日韩精品一级中文字幕精品视频免费观看 | www.51av欧美视频| 久久国产亚洲精品| 蜜桃久久久久久久| 久久av综合| 一区二区三区视频免费观看| 亚州av日韩av| 色婷婷综合网| 日韩专区欧美专区| 久久97久久97精品免视看秋霞| 国内自拍视频一区二区三区| 亚洲精品一二三**| 精品三区视频| 午夜亚洲一区| 99久久婷婷| 超碰在线99| 国产一区二区三区探花| 国产欧美日韩一区二区三区四区| 亚洲欧美视频| 亚洲精品综合| 国产精品第一国产精品| 久久久久久久久丰满| 视频一区日韩精品| 岛国av免费在线观看| 石原莉奈一区二区三区在线观看| 欧美激情综合| 欧美中文字幕| 国产色播av在线| 亚洲日本久久| 日韩欧美另类一区二区| 亚洲在线国产日韩欧美| 国产一区二区三区久久| 中日韩男男gay无套| 精品女同一区二区三区在线观看| 久久午夜精品一区二区| 日韩成人精品一区| 日韩高清在线观看一区二区| 亚洲天堂黄色| 精品三级国产| 天海翼亚洲一区二区三区| 久久国产日韩| 麻豆国产精品一区二区三区| 香蕉精品999视频一区二区| 韩国一区二区三区视频| 亚洲tv在线| 久久免费国产| 久久女人天堂| 日韩黄色免费网站| 亚洲欧洲日本mm| 日韩在线观看不卡| 精品日本视频| 国产情侣久久| 视频一区二区中文字幕| 亚洲特级毛片| 中文在线а√在线8| 久久精品72免费观看| 亚洲欧美日本日韩| 亚洲五月婷婷| 国产精品一区亚洲| 日本不卡视频在线观看| 欧美亚洲一区二区三区| 国产精品久久久久久久久免费高清| 精品视频在线观看网站| 免费久久精品视频| 久久久影院免费| 日韩88av| 欧美性www| 亚洲一区二区三区高清| 亚洲精品国产嫩草在线观看| 久久精品人人| 国产剧情在线观看一区| 蜜臀精品久久久久久蜜臀| 神马日本精品| 视频福利一区| 成人啊v在线| 国产精品分类| 国产精品一区二区精品| 啪啪亚洲精品| 91亚洲精品视频在线观看| 日本亚洲欧美天堂免费| 亚洲精品日韩久久| 日韩精彩视频在线观看| 日韩欧美中文字幕在线视频| 亚洲综合中文| 亚洲精品九九| 日本午夜精品一区二区三区电影| 日本免费一区二区视频| 日韩va欧美va亚洲va久久| 在线国产日韩| 亚洲资源在线| 蜜桃av一区二区三区电影| 国产婷婷精品| 免费不卡在线视频| 日韩精品视频在线看| 日韩成人精品一区二区三区| 91国内精品| 国产免费av国片精品草莓男男 | 91精品国产乱码久久久久久久| 激情黄产视频在线免费观看| 中文字幕成在线观看| 四虎4545www国产精品| 激情久久五月| 久久精品高清| 国产精品久久久久久久久久久久久久久 | 日本不卡高清视频| 日韩成人av影视| 免费看一区二区三区| 欧美福利一区| 国产欧美自拍一区| 日韩精品永久网址| 国产视频亚洲| 国产日韩中文在线中文字幕| 国产欧美啪啪| 久久亚洲精品中文字幕| 亚洲1234区| 黄色不卡一区| 国产亚洲在线观看| 一区二区精品| 国产精品白丝久久av网站| 精品美女在线视频| 欧美亚洲国产激情| 亚洲免费一区二区| 亚洲18在线| 国产96在线亚洲| 欧美aa国产视频| 亚州av日韩av| 国产一区二区三区91| 亚洲精品极品少妇16p| 日本亚洲视频在线| 免费精品一区| 一级欧洲+日本+国产| 亚洲日产国产精品| 久久香蕉网站| 一区二区亚洲精品| 国产毛片一区二区三区 | 精品国产亚洲一区二区三区在线| 日韩成人亚洲| 亚洲三级在线| 不卡一二三区| 亚洲三级视频| 国产一区二区三区亚洲| 黄色成人91| 久久不卡日韩美女| 91精品91| 国产欧美日韩一区二区三区在线| 精品无人区麻豆乱码久久久| 91精品国产91久久久久久黑人| 日本亚洲三级在线| 久久国产精品免费精品3p| 欧美亚洲三级| 欧美成人基地| 久久精品青草| 久久香蕉网站| 97在线精品| 今天的高清视频免费播放成人| 美女av在线免费看| 尤物tv在线精品| 在线精品一区| 国产精品主播| 欧美视频精品全部免费观看| 一本大道色婷婷在线| 久久亚洲欧洲| 久久久久久久欧美精品| 石原莉奈在线亚洲二区| 中文字幕高清在线播放| 亚州精品视频| 欧美成人国产|