Stream

 /**題目:     * 請按照給出數據,找出同時知足一下條件的用戶,也即如下愛條件所有知足     * 偶數id且奈年齡大於24且用戶名轉爲大寫且用戶名字母排序     * 只輸出一個用戶名     *     * 流:特色     * Stream本身不會存儲元素     * Stream不會改變源對象,相反,他們後返回一個持有結果的新stream。     *     * stream操做是延遲執行的,這意味着他們會等到須要結果的時候才執行。     * 建立一個Stream:一個數據源(數組,集合)     * 中間操做:一箇中間操做,處理數據源數據     * 終止操做:一個終止操做,執行中間操做鏈,產生結果     *     */    public static void main(String[] args) {        User  user=new User(11,"a",23);        User  user2=new User(12,"b",24);        User  user3=new User(13,"c",22);        User  user4=new User(14,"d",28);        User  user5=new User(15,"e",26);        User  user6=new User(16,"f",25);        List<User> list= Arrays.asList(user,user2,user3,user4,user5,user6);        list.stream().filter((u)->{            return u.getId()%2==0;//取出偶數        }).filter(t->{            return t.getAge()>24;//取出大於24的        }).map(m->{            return m.getUserName().toUpperCase();//轉大寫        }).sorted((o1,o2)->{            return o2.compareTo(o1);        }).forEach(System.out::println);    } }@NoArgsConstructor//空參構造@AllArgsConstructor//全參構造方法@Data//get,set@Accessors(chain = true)class User{    private Integer id;    private String userName;    private int age;}
相關文章
相關標籤/搜索