Rumah Java javaTutorial 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);
     }
}
Salin selepas log masuk

此题当然可以使用keyset()遍历,但是没有EntrySet效率高

Atas ialah kandungan terperinci java实战之给出字符串,统计汉字或字母出现的个数. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah mekanisme pengembangan hashmap? Apakah mekanisme pengembangan hashmap? Mar 15, 2023 pm 03:39 PM

Mekanisme pengembangan peta hash adalah untuk mengira semula kapasiti dan menggantikan tatasusunan asal dengan tatasusunan baharu. Kira semula semua data tatasusunan asal dan masukkan tatasusunan baharu, kemudian tuding ke tatasusunan baharu jika tatasusunan telah mencapai nilai maksimum sebelum pengembangan kapasiti, tetapkan ambang terus kepada integer maksimum dan kembalikannya.

Cara memasukkan pasangan nilai kunci ke dalam HashMap menggunakan kaedah put() kelas HashMap Cara memasukkan pasangan nilai kunci ke dalam HashMap menggunakan kaedah put() kelas HashMap Jul 26, 2023 pm 11:53 PM

Cara memasukkan pasangan nilai kunci ke dalam HashMap menggunakan kaedah put() kelas HashMap ialah kelas yang sangat penting dalam rangka kerja pengumpulan Java. Ia menyediakan cara untuk menyimpan pasangan nilai kunci. Dalam pembangunan sebenar, kita selalunya perlu memasukkan pasangan nilai kunci ke dalam HashMap, yang boleh dicapai dengan mudah dengan menggunakan kaedah put() kelas HashMap. Tandatangan kaedah put() HashMap adalah seperti berikut: Vput(Kkey,Vvalue)

Berdasarkan Java HashMap, bagaimana untuk menyelesaikan masalah memasukkan nilai Kunci pendua Berdasarkan Java HashMap, bagaimana untuk menyelesaikan masalah memasukkan nilai Kunci pendua May 09, 2023 am 10:52 AM

Memasukkan nilai kunci pendua dalam javaHashMap Untuk memasukkan nilai pendua dalam HashMap, anda perlu terlebih dahulu memikirkan cara elemen disimpan dalam HashMap. Setiap elemen yang disimpan dalam kaedah put Map ialah pasangan nilai kunci, dan semuanya ditambah melalui kaedah put, dan kunci yang sama hanya akan mempunyai satu nilai yang berkaitan dalam Peta. Kaedah meletakkan ditakrifkan seperti berikut dalam Peta. Pelaksanaan kaedah Vput(Kkey,Vvalue);put(): pertama cincang(kunci) mendapat kod cincang() kunci, dan peta cincang mencari rantai di mana kedudukan yang hendak dimasukkan adalah berdasarkan kod cincang yang diperolehi.

Tafsiran dokumentasi Java: Penjelasan terperinci tentang penggunaan kaedah containsKey() kelas HashMap Tafsiran dokumentasi Java: Penjelasan terperinci tentang penggunaan kaedah containsKey() kelas HashMap Nov 04, 2023 am 08:12 AM

Tafsiran dokumentasi Java: Penjelasan terperinci tentang penggunaan kaedah containsKey() bagi kelas HashMap Contoh kod khusus diperlukan. Kaedah containsKey() digunakan untuk menentukan sama ada HashMap mengandungi kunci yang ditentukan. Artikel ini akan menerangkan secara terperinci cara menggunakan kaedah containsKey() kelas HashMap dan memberikan contoh kod khusus. 1. samb

Apakah perbezaan antara LinkedHashMap dan HashMap dalam java Apakah perbezaan antara LinkedHashMap dan HashMap dalam java May 02, 2023 am 08:31 AM

1. Jelaskan bahawa Map pada asasnya boleh menggunakan HashMap, tetapi HashMap mempunyai masalah, iaitu, susunan lelaran HashMap bukanlah susunan HashMap diletakkan, atau ia tidak teratur. Kekurangan HashMap ini sering menyebabkan masalah, kerana dalam sesetengah senario kami menjangkakan Peta tersusun, iaitu LinkedHashMap. 2. Contoh perbezaan publicstaticvoidmain(String[]args){Mapmap=newLinkedHashMap();map.put("apple","Apple");map.put(&quot

Java menambah Peta ke Peta lain menggunakan fungsi putAll() kelas HashMap Java menambah Peta ke Peta lain menggunakan fungsi putAll() kelas HashMap Jul 24, 2023 am 09:36 AM

Java menggunakan fungsi putAll() kelas HashMap untuk menambahkan Map ke Map lain ialah struktur data yang biasa digunakan dalam Java dan digunakan untuk mewakili koleksi pasangan nilai kunci. Dalam rangka kerja pengumpulan Java, HashMap ialah kelas pelaksanaan yang biasa digunakan. Ia menyediakan fungsi putAll(), yang digunakan untuk menambah satu Peta ke Peta lain untuk memudahkan penggabungan dan penyalinan data. Artikel ini akan memperkenalkan cara menggunakan fungsi putAll() dan memberikan contoh kod yang sepadan. pertama,

Pengoptimuman prestasi Peta Java didedahkan: Jadikan operasi data anda lebih pantas dan cekap Pengoptimuman prestasi Peta Java didedahkan: Jadikan operasi data anda lebih pantas dan cekap Feb 20, 2024 am 08:31 AM

JavaMap ialah struktur data yang biasa digunakan dalam perpustakaan standard Java, yang menyimpan data dalam bentuk pasangan nilai kunci. Prestasi Map adalah penting untuk kecekapan menjalankan aplikasi Jika prestasi Map adalah lemah, ia boleh menyebabkan aplikasi berjalan perlahan atau ranap. 1. Pilih pelaksanaan Peta yang sesuai Java menyediakan pelbagai pelaksanaan Peta, termasuk HashMap, TreeMap dan LinkedHashMap. Setiap pelaksanaan Peta mempunyai kelebihan dan keburukan tersendiri Apabila memilih pelaksanaan Peta, anda perlu memilih pelaksanaan yang sesuai berdasarkan keperluan khusus aplikasi. HashMap: HashMap ialah pelaksanaan Peta yang paling biasa digunakan Ia menggunakan jadual cincang untuk menyimpan data dan mempunyai kelajuan pemasukan, pemadaman dan carian yang lebih pantas.

Cara menggunakan HashMap untuk cache data dalam mod tunggal Java Cara menggunakan HashMap untuk cache data dalam mod tunggal Java May 13, 2023 am 09:43 AM

1. Apakah corak tunggal? Corak tunggal ialah corak penciptaan objek yang digunakan untuk menjana contoh tertentu objek Ia boleh memastikan bahawa hanya satu contoh kelas dalam sistem dijana. Singleton yang dilaksanakan dalam Java adalah dalam skop mesin maya Oleh kerana fungsi memuatkan kelas adalah milik mesin maya, mesin maya akan mencipta contoh kelas apabila ia memuatkan kelas tunggal melalui ClassLoadnya sendiri. Dalam bahasa Java, tingkah laku sedemikian boleh membawa dua faedah utama: 1. Untuk objek yang kerap digunakan, masa yang dihabiskan untuk mencipta objek boleh diabaikan, yang merupakan overhed sistem yang sangat besar untuk objek berwajaran berat tersebut 2. Sejak bilangan operasi baharu; dikurangkan, kekerapan penggunaan memori sistem juga akan dikurangkan, yang akan mengurangkan tekanan GC.

See all articles