ハッシュマップとハッシュセットの違いは、Javaインタビューで最もよくある質問です。コレクションフレームワークとマルチスレッドインタビューが関係していない場合、不完全であると言えます。コレクションフレームワークの問題には、ハッシュセットとハッシュマップは含まれず、不完全であると言えます。 HashmapとHashsetはどちらもコレクションフレームワークの一部であり、オブジェクトのコレクションを使用できます。コレクションフレームワークには、主にセットインターフェイス、リストインターフェイス、キューインターフェイスに分割された独自のインターフェイスと実装があります。彼らには独自の特性があります。このセットでは、オブジェクトが値を重複させることはできません。リストは複製を許可します。セット内のオブジェクトにインデックスを付けます。キューの作業原則は、FCFSアルゴリズムです(最初のサーバー)。
まず、HashmapとHashsetが何であるかを見て、それらの違いを比較しましょう。
ハッシュセットとは何ですか
Hashsetは、セットの重複値を許可しないセットインターフェイスを実装します。ハッシュセットに言及するとき、最初のことは、オブジェクトをハッシュセットに保存する前にオブジェクトがequals()およびhashcode()メソッドを上書きすることを確認することです。そうすることで、オブジェクトの値が等しいかどうかをオブジェクトに比較できるように、セットに等しいオブジェクトがないことを確認します。これら2つの方法を書き換えない場合、この方法のデフォルトの実装が使用されます。
Public Boolean Add(Object O)メソッドを使用して、セットに要素を追加します。要素値が繰り返されると、すぐにfalseを返し、正常に追加された場合、trueを返します。
ハッシュマップとは何ですか
HashMapは、キー値のペアをマップするマップインターフェイスを実装します。マップでは、重複したキーが許可されていません。 MAPインターフェイスの2つの基本的な実装、HashmapとTreemapがあります。 TreeMapはオブジェクトの順序を保存しますが、Hashmapはできません。 Hashmapを使用すると、キーと値をnullにすることができます。 HashMapは非同期ですが、コレクションフレームワークは、Hashmapが同期することを保証する方法を提供します。そのため、複数のスレッドがHashmapに同時にアクセスすると、1つのスレッドのみがマップを変更できるようにします。
パブリックオブジェクトプット(オブジェクトキー、オブジェクト値)メソッドは、マップに要素を追加するために使用されます。
この記事を読んで、Hashmapがどのように機能するかを確認できます。この記事では、HashmapとHashtableがどのように異なるかを確認できます。
ハッシュセットとハッシュマップの違い
| *Hashmap* | *ハッシュセット* |
| HashMapはマップインターフェイスを実装します | ハッシュセットはセットインターフェイスを実装します |
| キー価値ペアを保存するためのハッシュマップ | ハッシュセットはオブジェクトのみを保存します |
| put()メソッドを使用して、要素をマップに入れます | ADD()メソッドを使用して、要素を設定します |
| HashMapは、キーオブジェクトを使用してハッシュコード値を計算します | Hashsetは、メンバーオブジェクトを使用してハッシュコード値を計算します。ハッシュコードは2つのオブジェクトで同じである可能性があるため、equals()メソッドを使用してオブジェクトの平等を判断します。 2つのオブジェクトが異なる場合は、falseを返します。 |
| Hashmapは、オブジェクトを取得するために唯一のキーを使用するため、より速くなります | ハッシュセットはハッシュマップよりも遅いです |
他の違いがわかっている場合は、メッセージを残してください。
オリジナルリンク:JavareVisited翻訳:Importnew.com -Tang Xiaojuan翻訳リンク:http://www.importnew.com/6931.html