Java JUC併發之Stream流式計算
阿新 • • 發佈:2021-07-15
十三、Stream流式計算
程式設計師必備技能:
- lambda表示式
- 鏈式程式設計
- 函式式介面 (有且只有一個方法)
- Stream流式計算
什麼是Stream流式計算
大資料 : 儲存 + 計算
儲存: 集合 資料庫(MySQL)
計算都應該交給
Stream流來操作!
package com.liu.stream; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Locale; import java.util.function.Predicate; import java.util.stream.Stream; /** * 題目要求:一分鐘內完成此題,只能用一行程式碼實現! * 現有5個使用者!篩選: * 1. ID必須是偶數 * 2. 年齡必須大於23歲 * 3. 使用者名稱轉為大寫字母 * 4. 使用者名稱字倒著排序 * 5. 只輸出一個使用者! */ public class Test { public static void main(String[] args) { User u1 = new User(1,"a",21); User u2 = new User(2,"b",22); User u3 = new User(3,"c",23); User u4 = new User(4,"d",24); User u5 = new User(6,"e",25); User u6 = new User(8,"f",26); // 集合:儲存 //List<User> list = Arrays.asList(u1, u2, u3, u4, u5, u6); //list.forEach(System.out::println); // 計算交給Stream流 // 鏈式程式設計 => 簡化程式設計模型 // 函式式介面 // Stream流式計算 Stream.of(u1, u2, u3, u4, u5, u6) .filter( u -> { return u.getId()%2==0; }) .filter( u -> { return u.getAge()>23; }) .map( u -> { u.setName(u.getName().toUpperCase()); return u; // 返回的是User物件 })// return u.getName().toUpperCase(); .sorted( (uu1,uu2)-> uu2.getName().compareTo(uu1.getName())) .limit(1) .forEach(System.out::println); } }
本文來自部落格園,作者:{夕立君},轉載請註明原文連結:https://www.cnblogs.com/liuzhhhao/p/15016637.html