java8 StreamAPI(二) 中間操作

2021-09-11 07:56:28 字數 1854 閱讀 4345

一、中間操作列舉

過濾 filter

去重 distinct

排序 sorted

擷取 limit

跳躍 skip

轉換map/flatmap

其他 peek

二、例子演示

2-1 過濾 filter(獲取1~5之間的偶數)

arrays.aslist(1, 2, 3, 4, 5).stream().filter(x->x%2==0).foreach(system.out::println);
2-2 去重 distinct(去除集合中的重複元素)

arrays.aslist(1.23,4,5,6,7,7,7,7).stream().distinct().foreach(system.out::println);
2-3 排序 sorted(集合中的元素排序並且是倒序)

arrays.aslist(1,23,4,5,6).stream().sorted((a,b)->b-a).foreach(system.out::println);
2-4 擷取 limit(取集合中的第一條資料)

arrays.aslist(1,2,34,56,1).stream().limit(1).foreach(system.out::println);
2-5 跳躍 skip(跳過集合中的第一條資料)

arrays.aslist(1,23,34,5).stream().skip(1).foreach(system.out::println);
2-6 轉換map、maptoint(string轉integer)

arrays.aslist("1","2","3","5").stream().maptoint(x->integer.valueof(x)).foreach(system.out::println);

arrays.aslist("1","2","3","5").stream().map(x->integer.valueof(x)).foreach(system.out::println);

2-7 轉換 flatmap(請動手實踐體驗map與flatmap的區別)

//flatmap與map的區別在於 flatmap是將乙個流中的每個值都轉成乙個個流,然後再將這些流扁平化成為乙個流 。

string strs = ;

arrays.stream(strs).map(s -> s.split("")).distinct().collect(collectors.tolist()).foreach(system.out::println);

arrays.stream(strs).map(s -> s.split("")).flatmap(arrays::stream).distinct().collect(collectors.tolist()).foreach(system.out::println);

2-7 其他 peek(類似於列印日誌的功能在進行操作時檢視當前值)

arrays.aslist("1","2","3","5").stream().peek(system.out::println).foreach(system.out::println);

java 8 Stream API 學習總結

建立stream流的方法 1.可以通過collection系列集合提供的stream 或者parallelstream listls new arraylist streamstream1 ls.stream 2.通過arrays中的靜態方法stream 獲取陣列流 string strs new ...

關於JDK8中Stream API的常見使用方法

產生乙個全新的流,和資料來源沒有關係 資料來源不受影響 a 建立stream方式 1 collection 例如 new arraylist stream 2 陣列 arrays.stream 3 通過stream類中的靜態方法of 4 建立無限流 建立無線流 迭代方式 test public vo...

java8函式式程式設計(二)

list常用操作 private static list init 迴圈列印集合中每個元素 private static void foreach private static void tolist 計算集合中age 4的元素個數 private static void filter 篩選出顏色為...