Java中計算集合中元素的出現(xiàn)次數(shù)統(tǒng)計
使用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)文章希望大家以后多多支持腳本之家!
- JAVA統(tǒng)計字符串中某個字符出現(xiàn)次數(shù)的方法實現(xiàn)
- Java案例使用集合方法實現(xiàn)統(tǒng)計任意字符串中字符出現(xiàn)的次數(shù)
- Java實現(xiàn)統(tǒng)計字符串出現(xiàn)的次數(shù)
- Java統(tǒng)計一個字符串在另外一個字符串出現(xiàn)次數(shù)的方法
- Java統(tǒng)計英文句子中出現(xiàn)次數(shù)最多的單詞并計算出現(xiàn)次數(shù)的方法
- Java統(tǒng)計字符串中字符出現(xiàn)次數(shù)的方法示例
- Java編程實現(xiàn)統(tǒng)計數(shù)組中各元素出現(xiàn)次數(shù)的方法
- java統(tǒng)計字符串中重復(fù)字符出現(xiàn)次數(shù)的方法
相關(guān)文章
Java?Stream?流中?Collectors.toMap?的用法詳解
這篇文章主要介紹了Stream?流中?Collectors.toMap?的用法,Collectors.toMap()方法是把List轉(zhuǎn)Map的操作,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01
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ū)別使用詳解
這篇文章主要介紹了Mybatis中的 ${ } 和 #{ }的區(qū)別使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07
詳解如何使用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é)
本文詳細(xì)介紹了SpringBoot項目的開發(fā)流程,從實體類定義到Controller接口開放,涵蓋了代碼注釋、核心概念圖解及高頻面試題,通過實際操作,展示了如何實現(xiàn)用戶增刪改查功能,感興趣的朋友跟隨小編一起看看吧2026-01-01

