首頁 Java java教程 java實戰之給出字串,統計漢字或字母出現的個數

java實戰之給出字串,統計漢字或字母出現的個數

Jul 20, 2018 am 10:56 AM
hashmap

廢話不多說,直接上程式碼

package test;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Stack;
import java.util.Vector;
import com.sun.org.apache.bcel.internal.generic.IRETURN;
public class Test {         
    public static void main(String[] args)   {                     
        String str = "中国你好吗>国你好吗>中国国家国国国国aabb;;;";              
        Map<Character,Integer> map = new HashMap<Character,Integer>();              
        char[] ch = str.toCharArray();//将字符串转为数组                            
        /*将字符和出现的个数存入到Map*/              
        for(char c:ch){               
            if(map.get(c)==null){                
                map.put(c, 1);//为空的话值为1               
                }else{                
                    Integer in = map.get(c);//得到的value值至少为1                
                    in++;                
                    map.put(c, in);               
                    }              
           }                                         
           /* 使用for-each遍历              
           for (Character c : map.keySet()) {                                    
               System.out.println(map.get(c));                            
               }
               */                            
           //使用迭代器和entrySet遍历              
           Iterator<Entry<Character, Integer>> iterator=map.entrySet().iterator();                            
           Integer count =Collections.max(map.values());//出现次数最多的值              
           Character character = null;
           //存放次数最多的key                            
           while(iterator.hasNext()) {                  
           Map.Entry<Character, Integer> entry=(Map.Entry<Character, Integer>)iterator.next();                                    
           System.out.println(entry.getKey()+"    "+entry.getValue());
           //得到出现次数最多的值的key                  
               if(entry.getValue().equals(count)) {
                   character=entry.getKey();                  
               }                                
           }                            
           System.out.println("出现次数最多的是:"+character+"出现次数为"+count);
     }
}
登入後複製

此題當然可以使用keyset()遍歷,但沒有EntrySet效率高

以上是java實戰之給出字串,統計漢字或字母出現的個數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

hashmap的擴容機制是什麼 hashmap的擴容機制是什麼 Mar 15, 2023 pm 03:39 PM

hashmap的擴容機制是:重新計算容量,用新的陣列取代原來的陣列。重新計算原始數組的所有資料並插入一個新數組,然後指向新數組;如果數組在容量擴展前已達到最大值,則直接將閾值設為最大整數返回。

如何使用HashMap類別的put()方法將鍵值對插入到HashMap中 如何使用HashMap類別的put()方法將鍵值對插入到HashMap中 Jul 26, 2023 pm 11:53 PM

如何使用HashMap類別的put()方法將鍵值對插入到HashMap中HashMap是Java集合框架中的一個非常重要的類,它提供了一種儲存鍵值對的方式。在實際開發中,我們經常需要在HashMap中插入鍵值對,透過使用HashMap類別的put()方法可以輕鬆實現這一目標。 HashMap的put()方法的簽章如下:Vput(Kkey,Vvalue)

基於Java HashMap,如何解決插入重複的Key值問題 基於Java HashMap,如何解決插入重複的Key值問題 May 09, 2023 am 10:52 AM

javaHashMap插入重複Key值要在HashMap中插入重複的值,首先要先弄清楚HashMap裡面是怎麼存放元素的。 put方法Map裡面存放的每一個元素都是key-value這樣的鍵值對,而且都是透過put方法進行新增的,而且相同的key在Map中只會有一個與之關聯的value存在。 put方法在Map中的定義如下。 Vput(Kkey,Vvalue);put()方法實作:首先hash(key)得到key的hashcode(),hashmap根據所得的hashcode找到要插入的位置所在的鏈,

Java文件解讀:HashMap類別的containsKey()方法用法詳解 Java文件解讀:HashMap類別的containsKey()方法用法詳解 Nov 04, 2023 am 08:12 AM

Java文件解讀:HashMap類別的containsKey()方法用法詳解,需要具體程式碼範例引言:HashMap是Java中常用的資料結構,它提供了高效率的儲存和尋找功能。其中的containsKey()方法用來判斷HashMap中是否包含指定的鍵。本文將詳細解讀HashMap類別的containsKey()方法的使用方式,並提供具體的程式碼範例。一、cont

java中LinkedHashMap和HashMap差別是什麼 java中LinkedHashMap和HashMap差別是什麼 May 02, 2023 am 08:31 AM

1.說明Map基本上可以使用HashMap,但是HashMap有一個問題,那就是迭代HashMap的順序不是HashMap放置的順序,就是無序。 HashMap的這個缺點往往會帶來麻煩,因為有些場景我們期待一個有序的Map,那就是LinkedHashMap。 2.區別實例publicstaticvoidmain(String[]args){Mapmap=newLinkedHashMap();map.put("apple","蘋果");map.put(&quot

Java Map 效能優化揭秘:讓你的資料操作更快速、更有效率 Java Map 效能優化揭秘:讓你的資料操作更快速、更有效率 Feb 20, 2024 am 08:31 AM

JavaMap是Java標準函式庫中常用的資料結構,它以鍵值對的形式儲存資料。 Map的效能對於應用程式的運作效率至關重要,如果Map的效能不佳,可能會導致應用程式運作緩慢,甚至崩潰。 1.選擇合適的Map實作Java提供了多種Map實現,包括HashMap、TreeMap和LinkedHashMap。每種Map實作都有各自的優缺點,在選擇Map實作時,需要根據應用程式的特定需求來選擇合適的實作。 HashMap:HashMap是最常用的Map實現,它使用哈希表來儲存數據,具有較快的插入、刪除和查找速度

Java使用HashMap類別的putAll()函數將一個Map加入另一個Map Java使用HashMap類別的putAll()函數將一個Map加入另一個Map Jul 24, 2023 am 09:36 AM

Java使用HashMap類別的putAll()函數將一個Map加入到另一個Map中Map是Java中常用的資料結構,用來表示鍵值對的集合。在Java的集合框架中,HashMap是一個常用的實作類別。它提供了putAll()函數,用於將一個Map添加到另一個Map中,以方便實現資料的合併和拷貝。本文將介紹putAll()函數的使用方法,並提供對應的程式碼範例。首先,

Java單例模式怎麼利用HashMap實作快取數據 Java單例模式怎麼利用HashMap實作快取數據 May 13, 2023 am 09:43 AM

一、單例模式是什麼?單例模式是一種物件建立模式,它用於產生一個物件的具體實例,它可以確保系統中一個類別只產生一個實例。 Java裡面實作的單例是一個虛擬機器的範圍,因為裝載類別的功能是虛擬機器的,所以一個虛擬機器在透過自己的ClassLoad裝載實作單例類別的時候就會建立一個類別的實例。在Java語言中,這樣的行為能帶來兩大好處:1.對於頻繁使用的對象,可以省略創建對象所花費的時間,這對於那些重量級對象而言,是非常可觀的一筆系統開銷; 2.由於new操作的次數減少,因而對系統記憶體的使用頻率也會降低,這將減輕GC壓

See all articles