23 Mayıs 2018 Çarşamba

BitSet Sınıfı

Giriş
BitSet sınıfı bitleri bir long dizisi şeklinde saklar.
 /**
 * The internal field corresponding to the serialField "bits".
 */
 private long[] words;
constructor
Şöyle yaparız.
BitSet bits = new BitSet();
constructor
Şöyle yaparız.
BitSet bits = new BitSet((1<<31)- 1);
cardinality metodu
Kaç tane true olduğunu döndürür. Şöyle yaparız.
int numberOfTrues = bits.cardinality();
get metodu - int
Şöyle yaparız.
int i = ...;
boolean v = bits.get(i);
Şöyle yaparız.
int i = 0
if (!bits.get(i)) {
  ...  
}
length  metodu
length() mantıksal uzunluğunu verir.
BitSet bits = ...
System.out.println("Bitset length: " + bitSet.length());
Çıktı olarak şunu alırız.
Bitset length: 41
set metodu - int
Belirtilen indekse değer atar. Şöyle yaparız.
int i = 0; i < 10; i++) {
bits.set(i,true);
set metodu - int + int
[from - to) aralığını true yapar. Şöyle yaparız.
BitSet bset = new BitSet(N); // Initial capacity for N bits.
bset.set(0, N); // Set a range to true for 0 upto N-1.
size metodu
Sınıf içinde toplam kaç bit depolanacağını verir.  size() sonucu long [] olduğu için hep 64 bit ve katı olacaktır.
BitSet bits = 
System.out.println("Bitset size: " + bits.size());
Çıktı olarak şunu alırız.
Bitset size: 64
toByteArray metodu
Şöyle yaparız.
bitSet.toByteArray();
valueOf metodu - byte
Şöyle yaparız.
byte b = ...;
BitSet bitSet = BitSet.valueOf(new byte[] { b });
valueOf metodu - long
Şöyle yaparız.
long currentTimeMillis = System.currentTimeMillis();
BitSet bitSet = BitSet.valueOf(new long[]{currentTimeMillis});








Hiç yorum yok:

Yorum Gönder