Classe Bitset Java
Une classe Bitset crée un type spécial de tableau pour contenir des valeurs de bits. La taille du tableau de BitSet augmentera selon les besoins. Cela est similaire à un vecteur de bits.
Il s'agit d'une classe traditionnelle, mais elle a été entièrement repensée dans Java 2.
BitSet définit deux constructeurs.
Le premier constructeur crée un objet par défaut :
BitSet()
La seconde méthode permet à l'utilisateur de spécifier une taille initiale. Tous les bits sont initialisés à 0.
BitSet(int size)
Les méthodes définies dans l'interface Cloneable implémentée dans BitSet sont listées dans le tableau suivant :
| Non. | Description de la méthode |
|---|---|
| 1 |
void and(BitSet set) Effectue une opération AND logique sur ce BitSet cible et l'ensemble de bits en argument. |
| 2 |
void andNot(BitSet set) Efface tous les bits de ce BitSet dont les bits correspondants sont définis dans le BitSet spécifié. |
| 3 |
int cardinality( ) Renvoie le nombre de bits définis à true dans ce BitSet. |
| 4 |
void clear( ) Met tous les bits de ce BitSet à false. |
| 5 |
void clear(int index) Met le bit à l'index spécifié à false. |
| 6 |
void clear(int startIndex, int endIndex) Définit à false les bits depuis le startIndex spécifié (inclus) jusqu'au toIndex spécifié (exclus). |
| 7 |
Object clone( ) Clone ce BitSet pour produire un nouveau BitSet qui lui est égal. |
| 8 |
boolean equals(Object bitSet) Compare cet objet avec l'objet spécifié. |
| 9 |
void flip(int index) Définit le bit à l'index spécifié au complément de sa valeur actuelle. |
| 10 |
void flip(int startIndex, int endIndex) Définit chaque bit depuis le fromIndex spécifié (inclus) jusqu'au toIndex spécifié (exclus) au complément de sa valeur actuelle. |
| 11 |
boolean get(int index) Renvoie la valeur du bit à l'index spécifié. |
| 12 |
BitSet get(int startIndex, int endIndex) Retourne un nouveau BitSet composé des bits de ce BitSet de fromIndex (inclus) à toIndex (exclu). |
| 13 |
int hashCode( ) Retourne la valeur du code de hachage de ce BitSet. |
| 14 |
boolean intersects(BitSet bitSet) Retourne true s'il existe un bit défini sur true dans le BitSet spécifié qui est aussi défini sur true dans ce BitSet. |
| 15 |
boolean isEmpty( ) Retourne true si ce BitSet ne contient aucun bit défini sur true. |
| 16 |
int length( ) Retourne la « taille logique » de ce BitSet : l'index du bit défini le plus élevé dans le BitSet plus 1. |
| 17 |
int nextClearBit(int startIndex) Retourne l'index du premier bit défini sur false qui apparaît à ou après l'index de départ spécifié. |
| 18 |
int nextSetBit(int startIndex) Renvoie l'index du premier bit défini sur true qui apparaît à partir de l'index de départ spécifié ou après celui-ci. |
| 19 |
void or(BitSet bitSet) Effectue une opération OU logique sur cet ensemble de bits et l'argument ensemble de bits. |
| 20 |
void set(int index) Définit le bit à l'index spécifié sur true. |
| 21 |
void set(int index, boolean v) Définit le bit à l'index spécifié sur la valeur spécifiée. |
| 22 |
void set(int startIndex, int endIndex) Définit les bits du fromIndex spécifié (inclus) au toIndex spécifié (exclu) sur true. |
| 23 |
void set(int startIndex, int endIndex, boolean v) Définit les bits du fromIndex spécifié (inclus) au toIndex spécifié (exclu) sur la valeur spécifiée. |
| 24 |
int size( ) Renvoie le nombre de bits d'espace réellement utilisés par ce BitSet lorsqu'il représente des valeurs de bits. |
| 25 |
String toString( ) Renvoie une représentation sous forme de chaîne de caractères de cet ensemble de bits. |
| 26 |
void xor(BitSet bitSet) Effectue une opération XOR logique sur ce BitSet et le BitSet en argument. |
Exemple
Le programme suivant illustre plusieurs méthodes prises en charge par cette structure de données :
Exemple
La compilation et l'exécution de l'exemple ci-dessus produisent le résultat suivant :
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:
{}
Autres extensions
Structures de données Java