ホームページ  >  記事  >  Java  >  Javaのツリーマップとハッシュマップの違いは何ですか?

Javaのツリーマップとハッシュマップの違いは何ですか?

青灯夜游
青灯夜游オリジナル
2020-11-11 17:12:5631553ブラウズ

相違点: 1. HashMap の要素は順序どおりではなく、TreeMap のすべての要素には特定の固定順序があります。 2. HashMap は AbstractMap クラスを継承し、ハッシュ テーブルに基づいて実装され、TreeMap は SortedMap クラスを継承し、赤黒ツリーに基づいて実装されます。

Javaのツリーマップとハッシュマップの違いは何ですか?

関連する推奨事項: 「Java ビデオ チュートリアル

ツリーマップとハッシュマップ違い

Map: 配列では、その内容は配列の添え字によってインデックス付けされますが、Map では、オブジェクトはオブジェクトによってインデックス付けされます。インデックス付けに使用されるオブジェクトは Key キーと呼ばれます。 、対応するオブジェクトは value と呼ばれます;

1. HashMap は hashcode() を使用してコンテンツを迅速に検索します; HashMap 内の要素は順番に並んでいません;

TreeMap ではすべての要素に特定の固定値があります順序付けされた結果を取得する必要がある場合は、TreeMap を使用する必要があります。

2、HashMap と TreeMap はスレッドセーフではありません。

3、HashMap は AbstractMap クラスを継承し、 hashcode() およびquals() メソッドを使用して、2 つの等しいマッピングが同じハッシュ値を返すようにします。

TreeMap は SortedMap クラスを継承し、キーの順序を維持します。

4. HashMap:ハッシュ テーブルに基づいて実装されます。HashMap を使用するには、hashcode() とquals() を明確に定義するキー クラスを追加する必要があります (このメソッドはオーバーライドできます)。HashMap のスペース使用量を最適化するために、初期容量と負荷係数の最適化を調整できます。

TreeMap: 赤黒ツリーに基づいて実装; 赤黒ツリーは常にバランスの取れた状態にあるため、TreeMap には調整オプションがありません;

5、HashMap: マップの挿入、削除に適しています、要素の位置決め;

ツリーマップ: 自然な順序またはカスタム順序でキーを移動するのに適しています;

プログラミング関連の知識の詳細については、次のリンクを参照してください: プログラミング学習 Web サイト ! !

以上がJavaのツリーマップとハッシュマップの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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