最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計

 更新時間:2024年02月28日 09:04:58   作者:程序媛小劉  
本文主要介紹了Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計,使用Collections類配合HashMap來統(tǒng)計和java lamb 計算這兩種方式,具有一定的參考價值,感興趣可以了解一下

使用Collections類來計算集合中元素的出現(xiàn)次數(shù)

在Java中,你可以使用Collections類配合HashMap來統(tǒng)計集合中元素的出現(xiàn)次數(shù)。以下是一個示例:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "banana");

        // 使用LinkedHashMap以保持插入順序
        Map<String, Integer> countMap = new LinkedHashMap<>();

        // 遍歷列表并統(tǒng)計每個元素的出現(xiàn)次數(shù)
        for (String item : list) {
            countMap.put(item, countMap.getOrDefault(item, 0) + 1);
        }

        // 打印結(jié)果
        for (Map.Entry<String, Integer> entry : countMap.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

在這個示例中,我們首先創(chuàng)建了一個包含重復(fù)元素的列表。然后,我們創(chuàng)建了一個LinkedHashMap來存儲每個元素及其出現(xiàn)次數(shù)。我們使用getOrDefault方法獲取當(dāng)前元素的出現(xiàn)次數(shù)(如果元素尚未在映射中,則返回默認(rèn)值0),然后將其加1。最后,我們遍歷映射并打印每個元素及其出現(xiàn)次數(shù)。

注意,我們使用LinkedHashMap而不是普通的HashMap,是因為LinkedHashMap會保持插入順序。如果你不關(guān)心元素的插入順序,那么可以使用HashMap。

java lamb 計算集合中元素的出現(xiàn)次數(shù)

在Java中,你可以使用Stream API和lambda表達(dá)式來更簡潔地計算集合中元素的出現(xiàn)次數(shù)。這里是一個使用Java 8及以上版本的例子:

import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<String> list = Arrays.asList("apple", "banana", "apple", "orange", "banana", "banana");

        // 使用Stream API和lambda表達(dá)式來計算元素的出現(xiàn)次數(shù)
        Map<String, Long> countMap = list.stream()
                .collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));

        // 打印結(jié)果
        countMap.forEach((item, count) -> System.out.println(item + " : " + count));
    }
}

在這個例子中,我們首先創(chuàng)建了一個包含重復(fù)元素的列表。然后,我們使用stream()方法將列表轉(zhuǎn)換成一個流,接著使用collect方法和Collectors.groupingBy來根據(jù)元素本身(Function.identity())進(jìn)行分組,并使用Collectors.counting()來計算每個分組的元素數(shù)量。

Collectors.groupingBy返回的是一個Map<K, List<T>>,其中K是元素的類型,T也是元素的類型。然后,我們通過嵌套使用Collectors.counting()來將每個分組的列表轉(zhuǎn)換為計數(shù)值。最終,我們得到一個Map<String, Long>,其中鍵是集合中的元素,值是它們在集合中出現(xiàn)的次數(shù)。

最后,我們使用forEach方法來遍歷這個映射并打印每個元素及其出現(xiàn)次數(shù)。

這種方法比使用傳統(tǒng)的for循環(huán)和HashMap更加簡潔和易讀。

到此這篇關(guān)于Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計的文章就介紹到這了,更多相關(guān)Java集合元素次數(shù)統(tǒng)計內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java?Stream?流中?Collectors.toMap?的用法詳解

    Java?Stream?流中?Collectors.toMap?的用法詳解

    這篇文章主要介紹了Stream?流中?Collectors.toMap?的用法,Collectors.toMap()方法是把List轉(zhuǎn)Map的操作,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-01-01
  • java學(xué)習(xí):日期的運算代碼

    java學(xué)習(xí):日期的運算代碼

    java.util.Date下的很多(構(gòu)造)方法,已經(jīng)被標(biāo)識為"過時"方法,官方推薦使用Calendar類來處理日期的運算,下面是示例:
    2013-02-02
  • Spring?MVC中JSON數(shù)據(jù)處理方式實戰(zhàn)案例

    Spring?MVC中JSON數(shù)據(jù)處理方式實戰(zhàn)案例

    Spring MVC是個靈活的框架,返回JSON數(shù)據(jù)的也有很多五花八門的方式,下面這篇文章主要給大家介紹了關(guān)于Spring?MVC中JSON數(shù)據(jù)處理方式的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • Java Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解

    Java Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解

    這篇文章主要介紹了Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Spring體系的各種啟動流程詳解

    Spring體系的各種啟動流程詳解

    這篇文章主要給大家介紹了關(guān)于Spring體系的各種啟動流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Spring AOP高級應(yīng)用與源碼剖析

    Spring AOP高級應(yīng)用與源碼剖析

    Spring AOP通過動態(tài)代理,在不修改原有業(yè)務(wù)邏輯的情況下增強橫切邏輯,如權(quán)限校驗、日志記錄、事務(wù)控制和性能監(jiān)測,本文介紹Spring AOP高級應(yīng)用與源碼剖析,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 教你怎么實現(xiàn)java語言的在線編譯

    教你怎么實現(xiàn)java語言的在線編譯

    這篇文章主要介紹了教你怎么實現(xiàn)java語言的在線編譯,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 詳解如何使用Java流API構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)

    詳解如何使用Java流API構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)

    在實際開發(fā)中,構(gòu)建樹狀層次結(jié)構(gòu)是常見需求,本文主要為大家詳細(xì)介紹了如何使用Java 8 Stream API將扁平化的菜單數(shù)據(jù)轉(zhuǎn)換為具有層級關(guān)系的樹形結(jié)構(gòu),需要的可以參考下
    2024-04-04
  • Spring Boot 項目開發(fā)全流程實戰(zhàn)示例總結(jié)

    Spring Boot 項目開發(fā)全流程實戰(zhàn)示例總結(jié)

    本文詳細(xì)介紹了SpringBoot項目的開發(fā)流程,從實體類定義到Controller接口開放,涵蓋了代碼注釋、核心概念圖解及高頻面試題,通過實際操作,展示了如何實現(xiàn)用戶增刪改查功能,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • Java Socket實現(xiàn)文件傳輸示例代碼

    Java Socket實現(xiàn)文件傳輸示例代碼

    這篇文章主要介紹了Java Socket實現(xiàn)文件傳輸示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01

最新評論

遂宁市| 陈巴尔虎旗| 大石桥市| 漳州市| 常德市| 偏关县| 连平县| 上林县| 天峨县| 遵义市| 泾源县| 武定县| 察雅县| 托里县| 绥阳县| 防城港市| 重庆市| 城口县| 宣汉县| 柳江县| 开封县| 锡林浩特市| 佛冈县| 于都县| 中宁县| 抚远县| 新野县| 蛟河市| 顺义区| 株洲县| 崇州市| 花莲县| 广宗县| 辽中县| 虎林市| 东台市| 鲁山县| 咸丰县| 灵石县| 松阳县| 龙岩市|