|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.util.BitSet
このクラスは、必要に応じて大きくなるビットベクトルを実装します。ビットセットの各要素は、boolean 値を持ちます。BitSet のビットには、負でない整数のインデックスが付けられます。インデックスが付けられた個別のビットは、試験したり、設定したり、クリアしたりできます。また、論理積、包含的論理和、および排他的論理和の演算を行うと、ある BitSet を使って別の BitSet の内容を変更できます。
デフォルトでは、セットのすべてのビットは初期値として false を持ちます。
ビットセットの、現在のサイズは、そのビットセットによって現在使用されているスペースのビット数です。このサイズはビットセットの実装と関連するので、サイズは実装によって変わる場合があります。ビットセットの長さはビットセットの論理的な長さと関連し、実装とは関係なく定義されます。
| コンストラクタの概要 | |
BitSet()
新しいビットセットを作成します。 |
|
BitSet(int nbits)
0 〜 nbits-1 の範囲のインデックスを持つビットを明示的に表すために十分な初期サイズを持つビットセットを作成します。 |
|
| メソッドの概要 | |
void |
and(BitSet set)
ターゲットビットセットと引数ビットセットの論理積を取ります。 |
void |
andNot(BitSet set)
対応するビットが指定された BitSet に設定されている、BitSet のビットをすべてクリアします。 |
void |
clear(int bitIndex)
インデックスで指定されたビットを false に設定します。 |
Object |
clone()
BitSet を複製することで、同等な新しい BitSet を作成します。 |
boolean |
equals(Object obj)
オブジェクトと指定されたオブジェクトを比較します。 |
boolean |
get(int bitIndex)
指定されたインデックスを持つビットの値を返します。 |
int |
hashCode()
ビットセットのハッシュコード値を返します。 |
int |
length()
BitSet の「論理サイズ」、つまり BitSet の最上位セットビットのインデックスに 1 を加えた値を返します。 |
void |
or(BitSet set)
ビットセットとビットセット引数の論理和を取ります。 |
void |
set(int bitIndex)
インデックスで指定されたビットを true に設定します。 |
int |
size()
BitSet でビット値を表すために実際に使用しているビットの数を返します。 |
String |
toString()
ビットセットの文字列表現を返します。 |
void |
xor(BitSet set)
ビットセットとビットセット引数の排他的論理和を取ります。 |
| クラス java.lang.Object から継承したメソッド |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
public BitSet()
false です。public BitSet(int nbits)
0 〜 nbits-1 の範囲のインデックスを持つビットを明示的に表すために十分な初期サイズを持つビットセットを作成します。ビットの初期値はすべて false です。nbits - ビットセットの初期サイズNegativeArraySizeException - 指定された初期サイズが負の場合| メソッドの詳細 |
public int length()
BitSet の「論理サイズ」、つまり BitSet の最上位セットビットのインデックスに 1 を加えた値を返します。BitSet にセットビットがない場合はゼロを返します。BitSet の論理サイズpublic void set(int bitIndex)
true に設定します。bitIndex - ビットインデックスIndexOutOfBoundsException - 指定されたインデックスが負の場合public void clear(int bitIndex)
false に設定します。bitIndex - クリアするビットのインデックスIndexOutOfBoundsException - 指定されたインデックスが負の場合public void andNot(BitSet set)
BitSet に設定されている、BitSet のビットをすべてクリアします。set - この BitSet をマスクするための BitSetpublic boolean get(int bitIndex)
BitSet に bitIndex のインデックスを持つビットが設定されている場合、値は true です。そうでない場合は false です。bitIndex - ビットインデックスIndexOutOfBoundsException - 指定されたインデックスが負の場合public void and(BitSet set)
true で、ビットセット引数の対応するビットの初期値も true の場合に限り、このビットセットが変更され、その各ビットの値が true になります。set - ビットセットpublic void or(BitSet set)
true であったか、ビットセット引数の対応するビットの値が true である場合に限り、このビットセットが変更され、そのビットの値が true になります。set - ビットセットpublic void xor(BitSet set)
true になります。
true で、引数の対応するビットの値が false である
false で、引数の対応するビットの値が true である
set - ビットセットpublic int hashCode()
BitSet 内に設定されているビットによってのみ決まります。ハッシュコードを計算するアルゴリズムは、次のように記述できます。
たとえば、bits という long 型整数値の配列に、BitSet のビットが格納されるとします。そして、k が負でない値で、
((k>>6) < bits.length) && ((bits[k>>6] & (1L << (bit & 0x3F))) != 0)という式が成り立つ場合に限り、
BitSet にビット k が設定されます。この場合、次のように hashCode メソッドを定義すると、実際のアルゴリズムの正しい実装になります。
public synchronized int hashCode() {
long h = 1234;
for (int i = bits.length; --i >= 0; ) {
h ^= bits[i] * (i + 1);
}
return (int)((h >> 32) ^ h);
}
ビットの設定が変わると、ハッシュコード値は変更されます。
このメソッドは、Object の hashCode メソッドをオーバーライドします。
Object 内の hashCodepublic int size()
BitSet でビット値を表すために実際に使用しているビットの数を返します。このセットで最大の要素は「サイズ」で、これが第一要素です。public boolean equals(Object obj)
null ではなく、このビットセットとまったく同じ true のビットのセットを持つ Bitset オブジェクトである場合に限り、結果は true です。つまり、負でない int 型のインデックス k に対して、
((BitSet)obj).get(k) == this.get(k)が成り立たなければなりません。2 つのビットセットの現在のサイズは比較されません。
このメソッドは、Object の equals メソッドをオーバーライドします。
Object 内の equalsobj - 比較対象のオブジェクトtrue、そうでない場合は falsesize()public Object clone()
BitSet を複製することで、同等な新しい BitSet を作成します。このビットセットの複製は、このビットセットとまったく同じ true のビットを持ち、現在のサイズが同じである別のビットセットです。
このメソッドは、Object の clone メソッドをオーバーライドします。
Object 内の clonesize()public String toString()
BitSet でビットが設定状態で保持されているインデックスごとに、そのインデックスの 10 進表現が結果に含まれます。こうしたインデックスは、最下位から最上位の順序で並べられ、「, 」(コンマとスペース) で区切って中カッコで囲まれます。このため、整数セットの通常の数値表記になります。
Object の toString メソッドをオーバーライドします。
例:
BitSet drPepper = new BitSet();
drPepper.toString() が「{}」を返します。
drPepper.set(2);
drPepper.toString() が「{2}」を返します。
drPepper.set(4); drPepper.set(10);
drPepper.toString() が「{2, 4, 10}」を返します。Object 内の toString
|
JavaTM 2 Platform Std. Ed. v1.3 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.