JavaでのHashMapとTreeMapの違い
この投稿では、Javaに関連するハッシュマップとツリーマップの違いを理解します。
ハッシュマップ
-
Javaのハッシュテーブルです。
-
これは、「マップ」インターフェースの実装に基づいています。
-
「Map」、「Cloneable」、および「Serializable」インターフェースを実装します。
-
単一のヌルキーを許可します。
-
また、複数のnull値を許可します。
-
ツリーマップと比較して高速です。
-
これは、「get」や「put」などの操作に対して一定時間のパフォーマンス、つまりO(1)を提供するためです。
-
キーの並べ替えは実行されません。
-
したがって、HashMapで異種要素を使用できます。
-
要素の順序は維持されません。
-
ソートされた順序のキーと値のペアが必要ない場合に使用できます。
-
Objectクラスの「equals」メソッドを使用してキーを比較します。
-
Mapクラスの「equals」メソッドはそれをオーバーライドします。
-
「KeySet」、「get」、「put」などの基本的なメソッドのみが含まれています。
ツリーマップ
-
これは、Javaで使用されるツリー構造です。
-
これは、「マップ」インターフェースの実装に基づいています。
-
「NavigableMap」、「Cloneable」、および「Serializable」インターフェースを実装しています。
-
nullキーは許可されません。
-
複数のnull値を許可します。
-
ソートされているため、キーとして同種の値を使用できます。
-
add()、remove()、contains()などのほとんどの操作でO(log(n))の複雑さを提供するため、HashMapと比較して低速です。
-
内部では赤黒木を使用しています。
-
赤黒木は平衡二分探索木です。
-
compareTo()メソッドは、キーを比較するために使用されます。
-
tailMap()、firstKey()、lastKey()、pollFirstEntry()、pollLastEntry()などの多くの機能があります。
-
要素は昇順で並べ替えられます。これは自然順序とも呼ばれます。
-
要件がソートされた順序のキーと値のペアである場合に使用されます。
-
Javaでのイテレータと列挙の違い
IteratorとEnumerationはどちらも、コレクションの要素をトラバースしてアクセスするためのカーソルです。どちらもコレクションフレームワークに属しています。列挙は、コレクションフレームワークのJDK1.2バージョンのJDK1.0およびIteratorで追加されました。 コレクション内の要素への読み取り専用アクセス権があるため、列挙型はコレクション内の構造を変更できません。次の方法があります: * hasMoreElements() * nextElement() 一方、イテレータはコレクション内の要素を読み取って削除できます。以下の方法があります- * hasNe
-
JavaでのArrayListとHashSetの違い
HashSetとArrayListはどちらも、Javaコレクションフレームワークの最も重要なクラスの一部です。 以下は、ArrayListとHashSetの重要な違いです。 Sr。いいえ。 キー ArrayList ハッシュセット 1 実装 ArrayListはリストインターフェイスの実装です。 一方、 HashSetは、セットインターフェイスの実装です。 2 内部実装 ArrayListは、その実装のために配列を内部的に実装します。 HashSetは、実装にHashmapを内部的に使用します。 3 要素の順序 ArrayListは、挿入順序、つまり