高級集合——流轉成值

流轉成值

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,924評論 18 139
  • ¥開啟¥ 【iAPP實現進入界面執行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,523評論 0 17
  • 充裕的時間、說走就走的勇氣、合拍的旅伴,是我所擁有最大的財富。 記得上一次來三亞我還說回去一定要寫個攻略什么的,小...
    你好了吧閱讀 221評論 1 1
  • 2017年2月28日星期二晴 上個星期反復聽了葉武濱的時間管理課程,真的好,雖然只是聽了前十課,我也受益很多。 歸...
    育心茵可媽閱讀 358評論 0 0
  • 這么多年有太多的花草陪伴了我, 我喜愛并照顧著他們 ,也曾因各種原因忽略過忽視過他們的存在,他們中有的堅強...
    雪玲1971閱讀 500評論 0 0