C#でリストから重複要素を削除する方法【Distinct()メソッドの使い方】
C#でリスト(List)から重複する要素を削除したい場合、LINQのDistinct()メソッドを使うのが最もシンプルで効率的な方法です。この記事では、基本的な手順をサンプルコードとともに分かりやすく解説します。
手順1:リストを宣言して要素を追加する
まず、リストを宣言し、要素を追加します。ここでは、意図的に同じ値「50」を2回追加しています。
List<int> list = new List<int>(); list.Add(50); list.Add(90); list.Add(50); list.Add(100);
手順2:Distinct()メソッドで重複を除去する
次に、Distinct()メソッドを呼び出すことで、重複を取り除いた一意の要素だけを取得できます。戻り値はIEnumerable型になるため、ToList()メソッドで再びリスト形式に変換します。
List<int> myList = list.Distinct().ToList();
なお、Distinct()メソッドはSystem.Linq名前空間に含まれているため、コードの先頭で using System.Linq; を宣言しておく必要があります。
サンプルコード全体
以下は、リストから重複要素を削除する処理の完全なコード例です。
using System;
using System.Collections.Generic;
using System.Linq;
public class Demo {
public static void Main() {
List<int> list = new List<int>();
list.Add(50);
list.Add(90);
list.Add(50);
list.Add(100);
Console.WriteLine("初期のリスト...");
foreach(int a in list) {
Console.WriteLine("{0}", a);
}
List<int> myList = list.Distinct().ToList();
Console.WriteLine("重複要素を削除した後の新しいリスト...");
foreach(int a in myList) {
Console.WriteLine("{0}", a);
}
}
}
実行結果
初期のリスト... 50 90 50 100 重複要素を削除した後の新しいリスト... 50 90 100
このように、元のリストには「50」が2つ含まれていましたが、Distinct()メソッドを適用するだけで、重複が自動的に除去された新しいリストを作成できました。要素の順序も維持されるため、実務でも安心して利用できる便利な手法です。
-
Pythonで双方向リンクリストから重複要素を削除する方法
双方向リンクリスト(二重連結リスト)から重複する要素を削除するには、まず「Node」クラスを作成する必要があります。このクラスには3つの属性が含まれます。ノードに格納されるデータ、リンクリスト内の次のノードへの参照、そして前のノードへの参照です。以下に具体的な実装例を示します。サンプルコードclass Node: def __init__(self, my_data): self.previous = None self.data = my_data self.next = None class double_list: def
-
Pythonでリストから重複要素を削除する方法を徹底解説
重複した要素を含むリストが与えられたとき、重複を取り除いた新しいリストを作成するのが本記事のテーマです。初心者の方にも理解しやすいよう、基本的なアルゴリズムの手順から実際のコードまで順を追って解説していきます。 実行例 入力::[2,3,4,3,4,6,78,90] 出力::[2,3,4,6,78,90] アルゴリズム 重複要素を削除するための基本的な手順は以下の通りです。 元となるリストを作成する。 空の新しいリストを用意する。 元のリストの各要素を先頭から順番に走査する。 その要素が新しいリストにまだ存在しないかどうかを判定する。 存在しない場合のみ、新しいリストへ要素を追加する。