プログラミングにおけるベクトル、セット、タプルの違いは何ですか?
7 に答える
- ベクトル: 同じタイプのオブジェクトの順序付けられたコレクション。
- セット: オブジェクトの順序付けられていないコレクション。コレクションのタイプと言語によって同じタイプまたは異なる可能性があります。特定のオブジェクトは一度しか表示できません。
- タプル: さまざまなタイプのオブジェクトの順序付けられたコレクション。
Avector
は、重複を許可するアイテムの順序付けられたシーケンスです。
Aset
は、順序付けされておらず、重複を許さないアイテムのコレクションです。
Atuple
は、指定された長さの項目の順序付けられたシーケンスです。
数学的に
タプルには、セットと区別するプロパティがあります。
- タプルには同じ要素の複数のインスタンスが含まれる場合があるため、タプル (1,2,2,3) != (1,2,3) ですが、{1,2,2,3} = {1,2,3} を設定します。 .
- タプル要素は順序付けられます: タプル (1,2,3) != (3,2,1) ですが、{1,2,3} = {3,2,1} に設定します。
- タプルには有限数の要素が含まれますが、セットまたはマルチセットには無限の数の要素が含まれる場合があります。
ベクトルは、複数のタプルで表される別の型です。
乾杯 :-)
タプルはオブジェクトの異種コレクションであり、単一のユニットとして扱う必要があります。たとえば、("John", "Smith", 30) は (String, String, Integer) タプルです。
リスト (C++ の場合: ベクトルでもあります) は、同種のオブジェクトのコレクションです。つまり、各オブジェクトを一様に扱うことができます。実際に同じ型かどうかは言語によって異なりますが、同じように処理できることがポイントです。
セットは、順序付けされていない一意の同種のコレクションです。含まれるオブジェクトとそのタイプはわかっていますが、どのような順序であるかはわかりません。また、各オブジェクトの 1 つだけが含まれています。
ベクトルには順序があります
タプルは順序付けられており、繰り返し要素を持つことができます。
セットは順不同であり、繰り返し要素はセットを変更しません。
例: {a,b}、{b,a}、および {b,b,a} はすべて同じセットですが、(a,b)、(b,a) および (b,b,a) はすべての異なるタプル。
ベクトルには順序がありますが、セットには順序がありません (重複することはできません)。タプルはベクトルに近いですが、通常は実際には構造体のように使用されます。