C#のUnionメソッドとは?2つのリストから重複を除いた要素を取得する方法
C#のUnionメソッドとは
C#のLINQに含まれるUnionメソッドは、2つのリスト(コレクション)を結合し、重複する要素を取り除いた一意な要素のみを取得するためのメソッドです。数学でいう「和集合」に相当する操作を、わずか1行のコードで実現できます。
2つのリストを用意する
まず、結合対象となる2つのリストを用意します。
var list1 = new List<int>{12, 65, 88, 45};
var list2 = new List<int>{40, 34, 65};Unionメソッドで和集合を取得する
次に、Unionメソッドを呼び出して2つのリストの和集合を求めます。
var res = list1.Union(list2);
この例では、両方のリストに含まれる「65」は1つだけ残り、重複が自動的に除去されます。
サンプルコード
以下に、実際に動作する完全なサンプルプログラムを示します。
Example
using System.Collections.Generic;
using System.Linq;
using System;
public class Demo {
public static void Main() {
// 2つのリスト
var list1 = new List<int>{12, 65, 88, 45};
var list2 = new List<int>{40, 34, 65};
// 和集合を求める
var res = list1.Union(list2);
foreach(int i in res) {
Console.WriteLine(i);
}
}
}実行結果
12 65 88 45 40 34
Unionメソッドを使う際のポイント
UnionメソッドはSystem.Linq名前空間に属する拡張メソッドのため、使用時にはusing System.Linq;が必要です。- 結果の順序は、最初のシーケンスの要素が先に列挙され、その後に2番目のシーケンスの新規要素が続きます。
- 既定では各型の既定の等値比較子が使われます。独自クラスを扱う場合は、
IEqualityComparer<T>を実装したオブジェクトを第2引数に渡すことで比較方法をカスタマイズできます。 - 重複を除去せず単純に連結したい場合は、代わりに
Concatメソッドを使用します。
-
JavaScriptの_.union()メソッドとは?配列の重複を除去して結合する使い方を解説
_.union()メソッドの基本_.union()は、JavaScriptの便利なライブラリであるunderscore.jsに用意されているメソッドです。この関数は、複数の配列を受け取り、それらすべてに含まれる要素を統合したうえで、重複のない新しい配列(いわゆる「和集合」)を返します。各配列の値をすべて精査し、ユニークな値だけを新しい配列へと取り込んでくれるため、データの整理や重複排除の処理を簡潔に記述できるのが大きな魅力です。構文_.union( array1, array2, .... );引数として渡せる配列の数に制限はなく、2つでも3つでも、必要な数だけ指定できます。使用例:数値配列の
-
HTMLのvarタグとは?数式の変数を表示する使い方とサンプルコード
HTMLの<var>要素は、数式や計算式の中で使われる変数(variable)を表すために使用されます。<var>タグで囲まれたテキストは、多くのブラウザでイタリック体(斜体)として表示されるのが特徴です。 それでは、実際に<var>タグをHTMLで実装する例を見ていきましょう。 サンプルコード <!DOCTYPE html> <html> <body> <h2>Mathematical Equation</h2> <p>Sample equation: <var>2x&l