一、中間操作列舉
過濾 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 篩選出顏色為...