zoukankan      html  css  js  c++  java
  • 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;
    }
  • 相关阅读:
    两年来的读书小总结(20112013)
    给无边框窗体添加任务栏右键菜单
    使用 yum 命令安装本地安装QQ
    删除非空目录
    gcc安装
    WIN32::OLE操作之excel
    [题解] 组合数学13题
    [算法] 高斯消元及其应用
    [算法] Lucas 定理
    [算法] 最小费用最大流
  • 原文地址:https://www.cnblogs.com/shanbaoxin/p/11663845.html
Copyright © 2011-2022 走看看