ホームページ 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 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ハッシュマップの展開メカニズムは何ですか? ハッシュマップの展開メカニズムは何ですか? Mar 15, 2023 pm 03:39 PM

ハッシュマップの拡張メカニズムは、容量を再計算し、元の配列を新しい配列に置き換えることです。元の配列のすべてのデータを再計算し、新しい配列を挿入し、新しい配列をポイントします。配列が容量拡張前の最大値に達している場合は、しきい値を最大の整数に直接設定して返します。

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 に格納される各要素はキーと値のペアであり、それらはすべて put メソッドを通じて追加され、Map 内で同じキーに関連付けられる値は 1 つだけになります。 Mapではputメソッドを以下のように定義しています。 Vput(Kkey,Vvalue); put() メソッドの実装: 最初に hash(key) でキーの hashcode() を取得し、取得したハッシュコードに基づいて挿入される位置のチェーンを hashmap で見つけます。

Javaドキュメントの解釈: HashMapクラスのcontainsKey()メソッドの使用法の詳細な説明 Javaドキュメントの解釈: HashMapクラスのcontainsKey()メソッドの使用法の詳細な説明 Nov 04, 2023 am 08:12 AM

Java ドキュメントの解釈: HashMap クラスの containsKey() メソッドの使用法の詳細な説明 特定のコード例が必要です はじめに: HashMap は Java で一般的に使用されるデータ構造であり、効率的なストレージおよび検索機能を提供します。 containsKey() メソッドは、HashMap に指定されたキーが含まれているかどうかを判断するために使用されます。この記事では、HashMap クラスの containsKey() メソッドの使用方法を詳しく説明し、具体的なコード例を示します。 1.続き

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","Apple");map.put(&quot

Java Map のパフォーマンス最適化が明らかに: データ操作をより高速かつ効率的に Java Map のパフォーマンス最適化が明らかに: データ操作をより高速かつ効率的に Feb 20, 2024 am 08:31 AM

JavaMap は、Java 標準ライブラリで一般的に使用されるデータ構造であり、キーと値のペアの形式でデータを格納します。 Map のパフォーマンスは、アプリケーションの実行効率にとって非常に重要です。Map のパフォーマンスが低いと、アプリケーションの実行が遅くなったり、クラッシュしたりする可能性があります。 1. 適切な Map 実装を選択します。Java には、HashMap、TreeMap、LinkedHashMap などのさまざまな Map 実装が用意されています。各 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() 関数を提供します。この関数は、あるマップを別のマップに追加して、データのマージとコピーを容易にするために使用されます。この記事では、putAll() 関数の使用方法と、対応するコード例を紹介します。初め、

HashMap を使用して Java シングルトン モードでデータをキャッシュする方法 HashMap を使用して Java シングルトン モードでデータをキャッシュする方法 May 13, 2023 am 09:43 AM

1. シングルトン パターンとは何ですか?シングルトン パターンは、オブジェクトの特定のインスタンスを生成するために使用されるオブジェクト作成パターンであり、システム内のクラスのインスタンスが 1 つだけ生成されるようにすることができます。 Java で実装されたシングルトンは仮想マシンのスコープ内にあり、クラスをロードする機能は仮想マシンに属するため、仮想マシンは独自の ClassLoad を通じてシングルトン クラスをロードするときにクラスのインスタンスを作成します。 Java 言語では、このような動作により 2 つの大きな利点がもたらされます: 1. 頻繁に使用されるオブジェクトの場合、オブジェクトの作成にかかる時間を省略できます。これは、これらの重量のあるオブジェクトにとって非常に大きなシステム オーバーヘッドになります; 2. 新しい操作の数が増えるため、が減少すると、システム メモリの使用頻度も減少し、GC 圧力が軽減されます。

See all articles