亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用java8計算數組列表中特定對象的出現次數

使用java8計算數組列表中特定對象的出現次數

RISEBY 2021-06-04 20:35:15
假設,我有一個數組列表:catalog id--->901Catalog name --->series277catalog id--->901Catalog name --->series277catalog id--->545Catalog name --->series285catalog id--->545Catalog name --->series285catalog id--->545Catalog name --->series285catalog id--->546Catalog name --->series685catalog id--->546Catalog name --->series685catalog id--->40962Catalog name --->series19348catalog id--->40962Catalog name --->series19348catalog id--->40962Catalog name --->series19348catalog id--->40962從這個列表中,我想找到如下所示的出現次數。catalog id--->901    -- 2catalog id--->545    -- 3catalog id--->546    -- 2catalog id--->40962  -- 4我的目標是,根據id我想創建一個循環以進一步迭代的出現次數。請找到我創建 Arraylist 的 java 代碼List<Catalog> catalogList2 = new ArrayList<Catalog>();for (SearchHit hit1 : searchHits2){  sourceAsMap2 = hit1.getSourceAsMap();  catalog2 = new Catalog();  catalog2.setId(String.valueOf(sourceAsMap2.get("catalog_id")));  catalog2.setCatalog_name(String.valueOf(sourceAsMap2.get("catalog_name")));  catalogList2.add(catalog2);}更新嘗試實現以下案例:for(int i=0;i<catalogList2.size();i++) {        // want to find the number of occurances for catalog.getId()        //Then i want to create a loop based on the number of occurances of catalog id        for(int i=0;i<catalog_id_occurances.size;i++)        {            //Have to do something.        }    }
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

您可以使用 Streams 做到這一點:


catalogs.stream().collect(

                Collectors.groupingBy(Catalog::getId, Collectors.counting()));

輸出:


jshell> catalogList.stream().collect(

   ...>                 Collectors.groupingBy(Catalog::getId, Collectors.counting()));

$43 ==> {901=2, 545=3, 546=2, 40962=4}

- 編輯 -


如果您想進一步操作輸出或想以某種客戶格式打印,您可以在下面使用:


catalogList.stream().collect(Collectors.groupingBy(Catalog::getId, Collectors.counting())).entrySet().stream().map(p->"catalog id--->"+p.getKey()+"    -- "+p.getValue()).forEach(System.out::println);

輸出:


catalog id--->901    -- 2

catalog id--->545    -- 3

catalog id--->546    -- 2

catalog id--->40962  -- 4


查看完整回答
反對 回復 2021-06-10
  • 1 回答
  • 0 關注
  • 475 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號