Stream流式計算
阿新 • • 發佈:2021-01-19
Stream流式計算
什麼是Stream流式計算
資料處理中不可缺少的兩部分:儲存 + 計算
集合、MySQL本質就是儲存資料的,計算都應該交給流來操作!
package com.kuang.stream; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor public class User { private int id; private String name; private int age; }
package com.kuang.stream; import java.util.Arrays; import java.util.List; /** * 題目要求: 一分鐘內完成此題, 只能用一行程式碼實現 * 現有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); // 集合用來儲存資料 List<User> list = Arrays.asList(u1, u2, u3, u4, u5); // 計算交給stream流 list.stream() .filter((u) -> {return u.getId()%2 == 0;}) .filter((u) -> {return u.getAge()>23;}) .map((u) -> {return u.getName().toUpperCase();}) .sorted((uu1, uu2) -> {return uu2.compareTo(uu1);}) .limit(1) .forEach(System.out::println); } }