美文网首页
lamada表达式使用示例

lamada表达式使用示例

作者: 火墙火墙火墙 | 来源:发表于2019-06-06 11:31 被阅读0次

    Class Bean{

    private Long id;

    private Long propertyA;

    }



    对象list 根据对象唯一值属性做key转Map:

    例:

    Bean中的id属性是uniqux属性

    List<Bean> list = new ArrayList();

    Map<Integer,Bean> unique=Maps.uniqueIndex(list ,Bean::getId);


    list 根据泛型bean中的属性排序, x,y 比较大小 :

    例:

    List<Bean> list = new ArrayList();

    list.sort((x,y)->Long.compare(x.getPropertyA(),y.getPropertyA()));

    1.表达式中的Long.compare是根据排序属性的类型来使用的

    2.即可正序排序也可倒叙排序,倒叙排序只需将后边的条件进行变换即可


    对象list 根据对象唯一值属性做key,其他属性做value转Map:

    例:

    Map<Long,Long> map = list.stream().collect(Collectors.toMap(i->i.getId(),i->i.getPropertyA()));


    对象list将获得某一属性的list:

    例:

    List<Long> list = beanList.stream().map(bean::getId).collect(Collectors.toList());

    同理获取set

    Set<Long> list = beanList.stream().map(bean::getId).collect(Collectors.toSet());


    对象list根据属性分组成Map:

    例:

    Map<Integer, List<Bean>> groupBy = list.stream().collect(Collectors.groupingBy(Bean::getPropertyA));

    相关文章

      网友评论

          本文标题:lamada表达式使用示例

          本文链接:https://www.haomeiwen.com/subject/cxuyxctx.html