HashMap 使用されるJavaのマップベースのコレクションクラスですキーと値のペアでデータを保存します。また、JavaでのMapインターフェースの実装にも役立ちます。この記事の媒体を通して、私はあなたに実装する方法を教えます HashMap。
UbuntuにHadoopを設定する
Java HashMapとは何ですか?
HashMap 基本的にの一部です Java1.2以降。マップの基本的な実装を提供します Javaのインターフェース 。通常、データは(Key、Value)の形式でペアで格納されます。 HashMap内の値にアクセスするには、そのキーを知っている必要があります。
ハッシュと呼ばれる手法を使用しているため、HashMapという名前が付けられています。ハッシュは、の値を保持することにより、大きな文字列を小さな文字列に変換するプロセスです。 定数として。結果の圧縮値は、インデックス作成と検索の高速化に役立ちます。
これで、JavaのHashMapのさまざまな機能について説明しましょう。
HashMapの機能
ハッシュマップはutilの一部です Javaのパッケージ 。
HashMapは 抽象クラス Mapインターフェースの不完全な実装も提供するAbstractMap。
また、Cloneableと シリアル化可能 上記の定義のKとVは、それぞれキーと値を表します。
HashMapは重複キーを許可しませんが、重複値を許可します。つまり、1つのキーに複数の値を含めることはできませんが、複数のキーに1つの値を含めることができます。
HashMapはnullキーのみを許可しますが、複数のnull値を使用できます。
このクラスは、特にマップの順序について保証するものではなく、順序が時間の経過とともに一定に保たれることを保証するものでもありません。ハッシュテーブルとほぼ同じですが、同期されていません。
Hashmapとそのさまざまな機能について理解したところで、さらに進んでJavaHashmapのパフォーマンスを理解しましょう。
JavaHashMapのパフォーマンス
パフォーマンスは主に2つのパラメータに依存します。
- 初期容量 :容量は単にバケットの数ですが、 初期容量 作成時のHashMapインスタンスの容量です。
- 負荷率: ザ・ 負荷率 再ハッシュを行う必要がある場合の対策です。再ハッシュは、容量を増やすプロセスです。 HashMapでは、容量に2を掛けます。負荷係数は、再ハッシュする前にHashMapのどの部分を埋めることができるかを決定する際の尺度でもあります。 HashMapのエントリ数が増えると、現在の容量と負荷係数の容量の積も増えます。これは、再ハッシュが行われることを意味します。
注意 :初期容量が高く保たれている場合、再ハッシュは実行されません。しかし、それを高く保つことにより、反復の時間計算量が増加します。したがって、パフォーマンスを向上させるには、非常に慎重に選択する必要があります。初期容量を設定するには、予想される値の数を考慮する必要があります。最も一般的に好ましい負荷率の値は0.75であり、これは時間とスペースのコストの間でかなりの量を提供します。負荷率の値は0から1の間で変化します。
HashMapのコンストラクター
HashMapは4つを提供します コンストラクター そしてその アクセス編集 それらのそれぞれの公開:
コンストラクター | 説明 |
1. HashMap() | これは、初期容量が16で負荷係数が0.75のHashMapのインスタンスを作成するデフォルトのコンストラクターです。 |
2. HashMap(int初期容量) | これは、指定された初期容量と負荷係数0.75のHashMapインスタンスを作成するために使用されます |
3. HashMap(int初期容量、フロート負荷係数) | 指定された初期容量と指定された負荷率でHashMapインスタンスを作成します。 |
4. HashMap(マップマップ) | 指定されたマップと同じマッピングでHashMapのインスタンスを作成します。 |
これで、HashMapを実装する方法を見てみましょう Java 。
HashMapの実装
以下のプログラムは、JavaでHashMapを実装する方法を示しています。
パッケージEdureka //説明するJavaプログラム//Java.util.HashMapimport java.util.HashMap import java.util.Map public class Hashmap {public static void main(String [] args){HashMa map = new HashMap()print (map)map.put( 'abc'、10)map.put( 'mno'、30)map.put( 'xyz'、20)System.out.println( 'マップのサイズは' + map.size( ))print(map)if(map.containsKey( 'mno')){Integer a = map.get( 'mno')System.out.println( 'value for key ' mno 'is:-' + a )} map.clear()print(map)} public static void print(Map map){if(map.isEmpty()){System.out.println( 'map is empty')} else {System.out.println (マップ)}}}
HashMapプログラムを実行すると、出力は次のようになります。
マップが空ですマップのサイズは次のとおりです:-3 {abc = 10、xyz = 20、mno = 30}キー 'abc'の値は次のとおりです:-10マップが空です
だからこれは私たちを終わりに連れて行きます HashMapの記事。それが有益であり、基礎を理解するのに役立つことを願っています。
チェックしてください 25万人以上の満足した学習者のネットワークを持つ信頼できるオンライン学習会社であるEdurekaが世界中に広がっています。私たちはあなたの旅のすべてのステップであなたを助けるためにここにいます、このJavaインタビューの質問に加えてなるために、私たちはJava開発者になりたい学生と専門家のために設計されたカリキュラムを考え出します。このコースは、Javaプログラミングをすぐに開始できるように設計されており、HibernateやSpringなどのさまざまなJavaフレームワークに加えて、コアと高度なJavaの両方の概念についてトレーニングします。
質問がありますか?この「JavaHashMap」のコメントセクションで言及してください ' 論文 できるだけ早くご連絡いたします。