[解決済み] HashSet<T>とList<T>の違いは何ですか?
2022-04-20 18:42:59
質問
とは何が違うのか、説明してください。
HashSet<T>
と
List<T>
.NETで?
どのような場合か、例を挙げて説明してください。
HashSet<T>
よりも優先されるべきです。
List<T>
?
解決方法は?
リストと違って<> ...
-
HashSetは重複したメンバーを持たないリストです。
-
HashSetは一意な項目のみを含むように制約されているため、内部構造は(リストと比較して)検索に最適化されており、かなり高速です。
-
HashSetに追加すると、ブール値が返されます。
-
Setに対して数学的な集合演算を行うことができる。Union/Intersection/IsSubsetOf など。
-
HashSet は IList を実装せず、ICollection を実装しています。
-
HashSetではインデックスを使用できず、列挙子のみ使用できます。
HashSetを使用する主な理由は、Set操作を実行することに興味がある場合でしょう。
2つのセット:hashSet1 と hashSet2 がある場合
//returns a list of distinct items in both sets
HashSet set3 = set1.Union( set2 );
は、LINQを使った同等の操作と比較して、非常に高速に動作します。書くほうもすっきりしていますね
関連
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] .NET Coreと.NET Standard Class Libraryのプロジェクトタイプの違いは何ですか?
-
[解決済み] .NETにおけるstructとclassの違いは何ですか?
-
[解決済み] 定義 HashSetとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] ファイル *.mdf をデータベースとしてアタッチできない
-
[解決済み] VS2017/2015 で .xproj ファイルを開く方法
-
[解決済み] ファイルまたはアセンブリ 'System.Data.SQLite' をロードできませんでした。
-
[解決済み] NetFx45WebLinkとNetFx45RedistLinkの違いは何ですか?
-
[解決済み] 24:00:00 を超える値を持つ .Net Timespan を格納するための正しい SQL タイプは何ですか?
-
[解決済み] LINQ to Entitiesはメソッドを認識しません。
-
[解決済み] 1は有効なWin32アプリケーションではありません "を解決するには?
-
[解決済み] 文字列から数字を抽出する正規表現
-
[解決済み] .Any() vs .Count() > 0のどちらのメソッドがより良いパフォーマンスを発揮しますか?
-
[解決済み] HashSetとListの性能比較