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

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

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

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

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

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)計(jì)每個(gè)元素的出現(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());
        }
    }
}

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

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

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

在Java中,你可以使用Stream API和lambda表達(dá)式來(lái)更簡(jiǎn)潔地計(jì)算集合中元素的出現(xiàn)次數(shù)。這里是一個(gè)使用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á)式來(lái)計(jì)算元素的出現(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));
    }
}

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

Collectors.groupingBy返回的是一個(gè)Map<K, List<T>>,其中K是元素的類型,T也是元素的類型。然后,我們通過(guò)嵌套使用Collectors.counting()來(lái)將每個(gè)分組的列表轉(zhuǎn)換為計(jì)數(shù)值。最終,我們得到一個(gè)Map<String, Long>,其中鍵是集合中的元素,值是它們?cè)诩现谐霈F(xiàn)的次數(shù)。

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

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

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

相關(guān)文章

最新評(píng)論