高级集合——流转成值

流转成值

1.代码

package org.java8.collector;

import java.util.Arrays;
import java.util.Comparator;
import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Stream;

import static java.util.stream.Collectors.*;
import static java.util.Comparator.*;

import org.java8.vo.Artist;

public class TranslatToValue {

    public static void main(String[] args) {
        Stream<Artist> example = Stream.of(
            new Artist(
                    "haha", 
                    Arrays.asList(new Artist("haha", "mei")),
                    "mei"),
                    
            new Artist(
                    "haha1", 
                    Arrays.asList(), 
                    "mei1"),
                    
            new Artist(
                    "haha2", 
                    Arrays.asList(
                        new Artist("haha", "mei"),
                        new Artist("haha", "mei")), 
                    "mei1")
        );
        
        Optional<Artist> artist = biggestGroup(example);
        
        System.out.println(artist.get());
    }

        //输出拥有最多members的
    public static Optional<Artist> biggestGroup(Stream<Artist> artists) {
        Function<Artist,Long> getCount = artist -> artist.getMembers().count();
        return artists.collect(maxBy(comparing(getCount)));
    }
}

2.输出

haha2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,342评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,224评论 0 17
  • 充裕的时间、说走就走的勇气、合拍的旅伴,是我所拥有最大的财富。 记得上一次来三亚我还说回去一定要写个攻略什么的,小...
    你好了吧阅读 285评论 1 1
  • 2017年2月28日星期二晴 上个星期反复听了叶武滨的时间管理课程,真的好,虽然只是听了前十课,我也受益很多。 归...
    育心茵可妈阅读 386评论 0 0
  • 这么多年有太多的花草陪伴了我, 我喜爱并照顾着他们 ,也曾因各种原因忽略过忽视过他们的存在,他们中有的坚强...
    雪玲1971阅读 551评论 0 0

友情链接更多精彩内容