ambda表示式、鏈式程式設計、函式式介面、Stream流計算綜合
阿新 • • 發佈:2022-03-23
ambda表示式、鏈式程式設計、函式式介面、Stream流計算綜合
題目要求:一分鐘內完成此題,只能用一行程式碼實現!現在有5個使用者!篩選:
1、ID必須是偶數
2、年齡必須大於23歲
3、使用者名稱轉為大寫字母
4、使用者名稱字母倒著排序
5、只輸出一個使用者
package StreamA; import java.util.Arrays; import java.util.List; /**題目要求:一分鐘內完成此題,只能用一行程式碼實現!現在有5個使用者!篩選: 1、ID必須是偶數 2、年齡必須大於23歲 3、使用者名稱轉為大寫字母 4、使用者名稱字母倒著排序 5、只輸出一個使用者 * @author liu */ 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); //計算交給stream流 //lambda表示式、鏈式程式設計、函式式介面、Stream流計算 list.stream() .filter((a)->{return a.getID()%2==0;}) .filter((a)->{return a.getAge()>23;}) .map((u)->{return u.getName().toUpperCase();}) .sorted((o1,o2)->{return o2.compareTo(o1);}) .limit(1) .forEach(System.out::println); } }
Use屬性
package StreamA; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; /**生成get/set/toString方法 * 無參構造 * 有參構造 * @author liu */ @Data @NoArgsConstructor @AllArgsConstructor public class User { private int ID ; private String Name; private int age; }