2 votes

Comment créer un tableau d'objets de classe BitSet en Java?

J'ai des nombres comme 10101, 1000, 11101, .... et ainsi de suite. Je veux stocker ces nombres en utilisant la classe bitset, mais je ne sais pas comment faire? S'il vous plaît aider

1voto

plucury Points 1040

Vous devriez plutôt utiliser un tableau d'octets.

1voto

Marius Ion Points 379

Il existe une implémentation de BitSet dans l'API standard de Java SE, vous devriez essayer d'utiliser celle-là.

1voto

prunge Points 8131

Si vous souhaitez utiliser une représentation en nombre binaire pour créer un BitSet, cela peut être fait en deux étapes:

  • Utilisez le constructeur de BigInteger qui prend une chaîne de caractères et une base comme arguments. Pour le binaire, la base est 2.

  • Initialisez un BitSet à partir de la représentation en tableau d'octets du BigInteger en appelant BigInteger.toByteArray() avec BitSet.valueOf().

par exemple

BigInteger a = new BigInteger("10101", 2); //base 2 pour binaire
BitSet aBits = BitSet.valueOf(a.toByteArray());

BitSet.valueOf() est nouveau dans Java 7 ne fonctionnera donc pas sur les versions antérieures de Java.

Modifier:

Si vous n'aimez pas initialiser BigInteger avec des chaînes de caractères et que vos nombres binaires rentrent dans 64 bits, vous pouvez également utiliser les littéraux binaires de Java 7 et initialiser le BigInteger en utilisant la méthode BigInteger.valueOf(long).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X