Klasa Java Bitset
Klasa Bitset tworzy specjalny rodzaj tablicy do przechowywania wartości bitów. BitSet do rozmiaru tablicy musi wzrosnąć. Wektor ten bit (wektor bitów) porównanie podobnego z podobnym.
Jest to tradycyjny klasy, ale został całkowicie przeprojektowany w Java 2.
BitSet definiuje dwa konstruktory.
Pierwszy Konstruktor tworzy domyślnego obiektu:
BitSet()
Druga metoda pozwala użytkownikowi określić rozmiar początkowy. Wszystkie bity są inicjowane 0.
BitSet(int size)
Metoda BitSet realizowane Cloneable interfejs zdefiniowany w tabeli poniżej w następujący sposób:
Nie. | metoda Opis |
---|---|
1 | nieważne i (BitSet bitSet) Bit ten cel wyznaczony z argumentem ustawionym bitem i wykonywania operacji logicznych. |
2 | void oraznie (BitSet bitSet) Usunąć wszystkie bity w tym BitSet którego odpowiedni bit jest ustawiony w określonej BitSet. |
3 | int liczność () Zwraca liczbę bitów w tym BitSet ustawiony na true. |
4 | void clear () Wszystkie bity w tej BitSet false. |
5 | unieważnić wyraźny (int index) Bit określone przez indeks false. |
6 | void clear (int startIndex int endIndex) Podany fromIndex (włącznie) do określonego toIndex (brak w zestawie) bit jest ustawiony w przedziale fałszywe. |
7 | klon Object () Skopiuj ten BitSet wygenerować nowy BitSet który jest równy. |
8 | boolean equals (Object bitSet) Ten obiekt na określony obiekt do porównania. |
9 | nieważne z klapką (int index) Bit pod określonym indeksem do jego bieżącej wartości dopełniacza. |
10 | nieważne z klapką (int startIndex int endIndex) Podany fromIndex (włącznie) do określonego toIndex (nie dołączone) dla każdego bitu w zakresie jej aktualnej wartości dopełniacza. |
11 | logiczna get (int index) Zwraca wartość bitowego o podanym indeksie. |
12 | BitSet get (int startIndex int endIndex) Zwraca nowy BitSet ta składa się z fromIndex BitSet (włącznie) do toIndex (brak w zestawie) Pozycja w przedziale. |
13 | int hashCode () Zwraca kod skrótu dla tego ustawionym bitem. |
14 | logiczne przecina (BitSet bitSet) Jeśli określony BitSet ma żadnych bitów ma wartość true, aw tym BitSet zostanie również ustawiona na wartość true, a następnie powrót w kotle. |
15 | logiczna isEmpty () Jeśli ta BitSet nie zawiera bity ustawione na true, a następnie powrót w kotle. |
16 | int length () Zwroty tym BitSet "logicznej": wielkość indeksu BitSet najwyższej ustawiony bit plus jeden. |
17 | int nextClearBit (int startIndex) Zwraca pierwszy indeks jest ustawiona na false bitu, który odbywa się w dniu lub po indeksie wyjściowego określonego indeksu. |
18 | int nextSetBit (int startIndex) Zwraca pierwszy bit jest ustawiony na true indeksu, który odbywa się w dniu lub po indeksie wyjściowego określonego indeksu. |
19 | nieważne lub (BitSet bitSet) Ten bit ustawiony z bitów ustawionych parametrów lub do wykonywania operacji logicznych. |
20 | void set (int index) Bit pod określonym indeksem jest ustawiony na true. |
21 | void set (int index, boolean v) Bit pod określonym indeksem do określonej wartości. |
22 | void set (int startIndex int endIndex) Określony fromIndex (włącznie) do określonego toIndex (nie włączone) bit jest ustawiony w zakresie prawdziwe. |
23 | void set (int startIndex int endIndex, boolean v) Podany fromIndex (włącznie) do określonego toIndex (brak w zestawie) bit jest ustawiony w przedziale od podanej wartości. |
24 | int size () Zwraca BitSet reprezentuje rzeczywiste wykorzystanie przestrzeni, gdy wartości bitowe bitów. |
25 | String toString () Zwraca ciąg znaków reprezentujący ustawionym bitem. |
26 | void xor (BitSet bitSet) Ten bit ustawiony z nieco ustawionych parametrów do wykonywania operacji logicznych XOR. |
Przykłady
Następujący program ilustruje to struktura danych na kilka sposobów:
import java.util.BitSet; public class BitSetDemo { public static void main(String args[]) { BitSet bits1 = new BitSet(16); BitSet bits2 = new BitSet(16); // set some bits for(int i=0; i<16; i++) { if((i%2) == 0) bits1.set(i); if((i%5) != 0) bits2.set(i); } System.out.println("Initial pattern in bits1: "); System.out.println(bits1); System.out.println("\nInitial pattern in bits2: "); System.out.println(bits2); // AND bits bits2.and(bits1); System.out.println("\nbits2 AND bits1: "); System.out.println(bits2); // OR bits bits2.or(bits1); System.out.println("\nbits2 OR bits1: "); System.out.println(bits2); // XOR bits bits2.xor(bits1); System.out.println("\nbits2 XOR bits1: "); System.out.println(bits2); } }
Powyższe przykłady zebrane wyniki przedstawiają się następująco:
Initial pattern in bits1: {0, 2, 4, 6, 8, 10, 12, 14} Initial pattern in bits2: {1, 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14} bits2 AND bits1: {2, 4, 6, 8, 12, 14} bits2 OR bits1: {0, 2, 4, 6, 8, 10, 12, 14} bits2 XOR bits1: {}