セットとマップの違いは何ですか
目次:
NS 主な違い セットとマップの間はそれです Setはコレクションインターフェイスのサブタイプですが、Mapはコレクションインターフェイスのサブタイプではありません。
配列は同じタイプのデータを格納します。ただし、配列を作成した後は、それを変更することはできません。 Javaなどのプログラミング言語は、データを動的に格納するためのコレクションを提供します。複数のオブジェクトを1つのグループとして保存できます。さらに、コレクションの並べ替え、検索、挿入、削除などの操作を実行できます。 Javaでコレクションを実装するための基本インターフェースは、コレクションと呼ばれます。コレクションインターフェイスを拡張するさまざまなインターフェイスがあります。それらの1つはSetインターフェイスです。一方、Mapは別個のインターフェースであるため、Collectionインターフェースを拡張しません。
Java、マップ、セット
セットとは
セットは、コレクションインターフェイスを拡張するインターフェイスです。重複する値を含めることはできません。 HashSetとTreeSetはセットを実装します。 Setインターフェースは、コレクションに対して操作を実行するためのadd、sizeなどのメソッドを提供します。例は次のとおりです。
図1:HashSetを使用したプログラム
HashSetは、タイプSetのオブジェクトです。文字列を保存できます。 addメソッドは、要素をHashSetに挿入するために使用されます。 「apple」として2つの文字列がありますが、出力には1つのappleしかありません。したがって、セットにすでに存在する要素は表示されません。さらに、セットを順序付けられていないリストとして出力します。 sizeメソッドは、セット内のアイテムの数を示します。
次のような別の例を参照してください。
図2:TreeSetを使用したプログラム
ツリーセットは、文字列を格納できるSet型のオブジェクトです。 addメソッドは、ツリーセットに要素を挿入するために使用されます。 「apple」として2つの文字列がありますが、出力には1つのappleしかありません。したがって、一意の要素のみが表示されます。さらに、セットを順序付きリストとして出力します。 sizeメソッドは、セット内のアイテムの数を示します。
マップとは
マップは、キーと値の間のマッピングを表すインターフェースです。コレクションインターフェイスは拡張されません。したがって、マップの動作は通常のコレクションタイプとは異なります。マップに重複するキーを含めることはできず、各キーは最大で1つの値にマップできます。 HashMapはMapインターフェースを実装し、SortedMapはMapインターフェースを拡張し、TreeMapはSortedMapインターフェースを実装します。
図3:HashMapを使用したプログラム
studentListは、タイプMapのオブジェクトです。文字列を保存できます。 putメソッドは、studentListに要素を挿入するために使用されます。 「Peter」には2つのレコードがありますが、表示されるのは1つのレコードのみです。 HashMapは挿入された順序を維持しません。一意の値のみを出力します。
図4:TreeMapを使用したプログラム
LettersはMapタイプのオブジェクトです。文字列を保存できます。 putメソッドは、文字に要素を挿入するために使用されます。 「B」には2つのレコードがありますが、表示されるのは1つのレコードのみです。 TreeMapは、挿入された順序を維持しません。一意の値のみを出力します。
セットとマップの違い
意味
セットはコレクション階層内のインターフェースであり、重複する要素を含めることはできませんが、マップは一意のキーを値にマップするインターフェースです。これがSetとMapの主な違いです。
コレクションインターフェイスとの関連付け
Setはコレクションインターフェイスを拡張するインターフェイスですが、Mapは別のインターフェイスです。
機能性
機能性もセットとマップの大きな違いです。 Setは一意の値を格納するのに役立ちますが、Mapインターフェイスはキーと値の間のマッピングを表します。
結論
SetとMapの主な違いは、SetはCollectionインターフェイスのサブタイプであるのに対し、MapはCollectionインターフェイスのサブタイプではないことです。
リファレンス:
1.「Javaで設定」。 GeeksforGeeks、2018年11月26日、こちらから入手可能2。 「Javaのマップインターフェイス。」 GeeksforGeeks、2018年11月26日、こちらから入手できます。