Java プラットフォーム 1.2

java.util
クラス AbstractSet

java.lang.Object
  |
  +--java.util.AbstractCollection
        |
        +--java.util.AbstractSet
直接の既知のサブクラス:
HashSet, TreeSet

public abstract class AbstractSet
extends AbstractCollection
implements Set

このクラスは、Set インタフェースのスケルトン実装を提供し、このインタフェースを実装するのに必要な作業量を最小限に抑えます。

このクラスを拡張してセットを実装するプロセスは、AbstractCollection を拡張して Collection を実装するプロセスと同じです。ただし、このクラスのサブクラスにあるメソッドおよびコンストラクタのすべては、Set インタフェースによって課される追加の制限に従う必要があります。たとえば、add メソッドは、1 つのオブジェクトの複数のインスタンスをセットに追加する処理を許容してはいけません。

このクラスは、AbstractCollection クラスによる実装の一切をオーバーライドしません。単に、equalshashCode の実装を追加するだけです。

導入されたバージョン:
JDK1.2
関連項目:
Collection, AbstractCollection, Set

コンストラクタの概要
protected AbstractSet()
          唯一のコンストラクタです。
 
メソッドの概要
 boolean equals(Object o)
          指定されたオブジェクトとセットが等しいかどうかを比較します。
 int hashCode()
          このセットのハッシュコード値を返します。
 
クラス java.util.AbstractCollection から継承したメソッド
add, addAll, clear, contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

AbstractSet

protected AbstractSet()
唯一のコンストラクタです。サブクラスのコンストラクタによる呼び出しは、通常は暗黙的な呼び出しです。
メソッドの詳細

equals

public boolean equals(Object o)
指定されたオブジェクトとセットが等しいかどうかを比較します。指定されたオブジェクトがセットであり、2 つのセットのサイズが等しく、指定されたセットのすべてのメンバがこのセットに含まれている場合に true を返します。これにより、equals メソッドは Set インタフェースの異なる実装上で正しく動作することが保証されます。

この実装は、指定されたオブジェクトがこのセット自身であるかどうかを最初に調べます。このセットである場合、実装は true を返します。次に、指定されたオブジェクトについて、このセットと同じサイズのセットであるかどうかを調べます。指定されたオブジェクトがこのセットと同じサイズのセットではない場合は false を返します。指定されたオブジェクトがこのセットと同じサイズのセットである場合は、containsAll((Collection) o) の結果を返します。

定義:
インタフェース Set 内の equals
パラメータ:
o - このセットと等しいかどうか比較される Object
戻り値:
指定されたオブジェクトがこのセットに等しい場合は true
オーバーライド:
クラス Object 内の equals

hashCode

public int hashCode()
このセットのハッシュコード値を返します。セットのハッシュコードは、セットにある要素のハッシュコードの合計になるように定義されています。これにより、Object.hashCode の一般規約で要求されるとおりに、任意の 2 つのセット s1s2 について、s1.equals(s2) の場合 s1.hashCode()==s2.hashCode() になります。

この実装は、コレクションの各要素の hashCode メソッドを呼び出して、セットを列挙して次々調べ、結果を加算していきます。

定義:
インタフェース Set 内の hashCode
戻り値:
このセットのハッシュコード値
オーバーライド:
クラス Object 内の hashCode

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.