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

Java8實現(xiàn)優(yōu)雅的獲取重復(fù)字符與次數(shù)

 更新時間:2023年12月13日 08:10:08   作者:程序員無名  
這篇文章主要為大家詳細(xì)介紹了在Java8中,我們應(yīng)該如何進行字符及字符串的去重,以及計算去重次數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

獲取重復(fù)的字符以及重復(fù)的次數(shù)

package com.javatute.stream;

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

public class DuplicateCharacter {
    public static void main(String[] args) {
        String input = "rakeshranjankumar";

        Map<Character, Long> charCountMap = input.chars()
                .mapToObj(c -> (char) c)
                .collect(Collectors.groupingBy( 
                        Function.identity(), Collectors.counting()
                ));

        charCountMap.forEach((character, count) -> {
            if (count > 1) {
                System.out.println("Character: " + character + ", Count: " + count);
            }
        });
    }
}

輸出如下:

Character: a, Count: 4 Character: r, Count: 3 Character: k, Count: 2 Character: n, Count: 2

  • 我們使用該 chars() 方法將輸入字符串轉(zhuǎn)換為字符流。
  • 然后,我們將每個字符映射到一個類型的 Character 對象。
  • 使用收集器 Collectors.groupingBy 按字符的身份(即字符本身)對字符進行分組,并使用 Collectors.counting() 計算它們的出現(xiàn)次數(shù)。
  • 結(jié)果是 Map<Character, Long> 其中鍵是字符串中的唯一字符,值是每個字符的計數(shù)。
  • 遍歷Map并打印計數(shù)大于 1 的字符,這表示它們是重復(fù)的

使用 Java 8 計算重復(fù)字符串的程序

要使用 Java 8 查找重復(fù)的字符串并計算它們在字符串集合中的出現(xiàn)次數(shù),您可以將 Stream API 與 groupingBy 收集器一起使用

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;

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

        Map<String, Long> stringCountMap = strings.stream()
            .collect(Collectors.groupingBy(
                Function.identity(), Collectors.counting()
            ));

        stringCountMap.forEach((str, count) -> {
            if (count > 1) {
                System.out.println("String: " + str + ", Count: " + count);
            }
        });
    }
}

輸出如下:

String: banana, Count: 2 String: apple, Count: 3

  • 首先我們有一個字符串列表,稱為 strings
  • 將列表轉(zhuǎn)換為字符串流。
  • 使用收集器 Collectors.groupingBy 按字符串的身份(即字符串本身)對字符串進行分組,并使用 Collectors.counting()
  • 結(jié)果是,鍵是列表中的唯一字符串, Map<String, Long> 值是每個字符串的計數(shù)
  • 遍歷Map計數(shù)大于 1 的字符串,打印重復(fù)的字符串。

到此這篇關(guān)于Java8實現(xiàn)優(yōu)雅的獲取重復(fù)字符與次數(shù)的文章就介紹到這了,更多相關(guān)Java8獲取重復(fù)字符與次數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring注解實現(xiàn)自動裝配過程解析

    Spring注解實現(xiàn)自動裝配過程解析

    這篇文章主要介紹了Spring注解實現(xiàn)自動裝配過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • 一文徹底搞懂Java 中的 SPI 是什么

    一文徹底搞懂Java 中的 SPI 是什么

    這篇文章主要介紹了Java 中的 SPI 是什么,本篇文章將通過經(jīng)典題目、實戰(zhàn)解析和面試官視角,幫助你從容應(yīng)對“SPI”相關(guān)問題,贏得技術(shù)面試的加分項,需要的朋友可以參考下
    2025-06-06
  • spring cloud alibaba Nacos 注冊中心搭建過程詳解

    spring cloud alibaba Nacos 注冊中心搭建過程詳解

    這篇文章主要介紹了spring cloud alibaba Nacos 注冊中心搭建過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • spring中的BeanFactory與FactoryBean的講解

    spring中的BeanFactory與FactoryBean的講解

    今天小編就為大家分享一篇關(guān)于spring中的BeanFactory與FactoryBean的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • SpringCloud斷路器Hystrix原理及用法解析

    SpringCloud斷路器Hystrix原理及用法解析

    這篇文章主要介紹了SpringCloud斷路器Hystrix原理及用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • feign客戶端設(shè)置超時時間操作

    feign客戶端設(shè)置超時時間操作

    這篇文章主要介紹了feign客戶端設(shè)置超時時間操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java中HashMap的元素遍歷順序問題及處理

    Java中HashMap的元素遍歷順序問題及處理

    文章總結(jié)了HashMap、LinkedHashMap和TreeMap在遍歷順序上的區(qū)別,HashMap不保證遍歷順序,LinkedHashMap保證插入順序,而TreeMap保證鍵的順序,理解這些特性有助于在編程中選擇合適的Map實現(xiàn)
    2026-01-01
  • Redis分布式鎖介紹與使用

    Redis分布式鎖介紹與使用

    服務(wù)器集群項目中的鎖是無法精準(zhǔn)的鎖住線程資源的,于是我們就是需要使用分布式鎖,分布式鎖該如何使用又有什么注意點呢?就讓我們進入接下來的學(xué)習(xí)
    2022-09-09
  • 基于mybatis進行批量更新兩種方法

    基于mybatis進行批量更新兩種方法

    這篇文章主要給大家介紹了關(guān)于如何基于mybatis進行批量更新的兩種方法,批量更新的使用,mybatis中批量更新有很多種方法,可以把數(shù)據(jù)一條條更新,也可以傳入一個數(shù)據(jù)集一次性更新,需要的朋友可以參考下
    2023-08-08
  • 分析HashMap 的 JDK 源碼

    分析HashMap 的 JDK 源碼

    這篇文章主要分析了HashMap 的 JDK 源碼,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-10-10

最新評論

乌兰浩特市| 麻阳| 三原县| 饶河县| 行唐县| SHOW| 开封县| 湄潭县| 柳江县| 忻州市| 阳高县| 沂水县| 商丘市| 永安市| 辛集市| 临邑县| 德兴市| 论坛| 平顶山市| 通化市| 绿春县| 定襄县| 兴安县| 邯郸县| 炉霍县| 广宗县| 浦北县| 阳信县| 贡觉县| 通州区| 瑞丽市| 鄂州市| 县级市| 西城区| 扎赉特旗| 长泰县| 旅游| 安平县| 务川| 宁都县| 文成县|