欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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表達式來更簡潔地計算集合中元素的出現(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表達式來計算元素的出現(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())進行分組,并使用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使用Socket實現(xiàn)文件上傳功能

    java使用Socket實現(xiàn)文件上傳功能

    這篇文章主要為大家詳細介紹了java使用Socket實現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • java數(shù)組與以逗號分隔開的字符串的相互轉(zhuǎn)換操作

    java數(shù)組與以逗號分隔開的字符串的相互轉(zhuǎn)換操作

    這篇文章主要介紹了java數(shù)組與以逗號分隔開的字符串的相互轉(zhuǎn)換操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Mybatis如何從數(shù)據(jù)庫中獲取數(shù)據(jù)存為List類型(存為model)

    Mybatis如何從數(shù)據(jù)庫中獲取數(shù)據(jù)存為List類型(存為model)

    這篇文章主要介紹了Mybatis如何從數(shù)據(jù)庫中獲取數(shù)據(jù)存為List類型(存為model),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Spring中@Scheduled和HttpClient的連環(huán)坑

    Spring中@Scheduled和HttpClient的連環(huán)坑

    這篇文章主要給大家介紹了關(guān)于Spring中@Scheduled和HttpClient的連環(huán)坑,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • java 獲取一組數(shù)據(jù)中的最大值和最小值

    java 獲取一組數(shù)據(jù)中的最大值和最小值

    本文主要介紹了java 獲取一組數(shù)據(jù)中的最大值和最小值的方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 通過實例解析JMM和Volatile底層原理

    通過實例解析JMM和Volatile底層原理

    這篇文章主要介紹了通過實例解析JMM和Volatile底層原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Spring請求路徑帶參數(shù)URL使用注解的寫法說明

    Spring請求路徑帶參數(shù)URL使用注解的寫法說明

    這篇文章主要介紹了Spring請求路徑帶參數(shù)URL使用注解的寫法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • mybatis中批量更新多個字段的2種實現(xiàn)方法

    mybatis中批量更新多個字段的2種實現(xiàn)方法

    當(dāng)我們使用mybatis的時候,可能經(jīng)常會碰到一批數(shù)據(jù)的批量更新問題,因為如果一條數(shù)據(jù)一更新,那每一條數(shù)據(jù)就需要涉及到一次數(shù)據(jù)庫的操作,本文主要介紹了mybatis中批量更新多個字段的2種實現(xiàn)方法,感興趣的可以了解一下
    2023-09-09
  • 23種設(shè)計模式(2) java工廠模式

    23種設(shè)計模式(2) java工廠模式

    這篇文章主要為大家詳細介紹了23種設(shè)計模式之java工廠模式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • java中利用棧實現(xiàn)字符串回文算法

    java中利用棧實現(xiàn)字符串回文算法

    給定一個由多個a和b組成的字符串?dāng)?shù)組,字符串中有一個特殊的字符X,位于字符串的正中間,例如(aaaabbbbXabaabbbb),如何判定該字符串是否回文
    2020-12-12

最新評論