System.Generics.Defaults.IEqualityComparer
Delphi
IEqualityComparer<T> = interface
C++
template<typename T> __interface IEqualityComparer__1 : public System::IInterface
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
interface class |
public | System.Generics.Defaults.pas System.Generics.Defaults.hpp |
System.Generics.Defaults | System.Generics.Defaults |
説明
IEqualityComparer は、2 つの値が等しいかどうかを調べるのに用いられるジェネリック インターフェイスです。
IEqualityComparer は、同じ型の 2 つの値を比較して等しいかどうかを調べる(等値比較)機能が必要なクラスで実装されます。 ジェネリック コレクションでは、カスタム データ型をサポートするために、IEqualityComparer インターフェイスを実装するクラスのインスタンスが必要です。 たとえば、TList では、与えられた値がリストに含まれているかどうかを調べるために Equals メソッドを使用します。 2 つの値が等しいかどうかを調べるだけでなく、IEqualityComparer には、任意の値のハッシュ コードを生成するのに使用される GetHashCode メソッドも用意されています。 GetHashCode は、TDictionary のようなハッシュベースのマップ クラスで広く使用されます。
メモ: IEqualityComparer インターフェイスを直接実装するのではなく、TEqualityComparer クラスをカスタム比較クラスの基底クラスとして使用することをお勧めします。
関連項目
- System.Generics.Defaults.TEqualityComparer
- System.Generics.Defaults.TEqualityComparer.operator ()
- System.Generics.Defaults.TDelegatedEqualityComparer
- System.Generics.Defaults.IComparer