16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

6.1.4 Die Klasse Bitset für Bitmengen<br />

class java.util.BitSet implements Cloneable, Serializable<br />

Die Klasse Bitset bietet komfortable Möglichkeiten zur bitweisen Manipulation von<br />

Daten.<br />

Bitset anlegen und füllen. Mit zwei Metho<strong>de</strong>n lassen sich die Bits <strong>de</strong>s Bitsets leicht<br />

än<strong>de</strong>rn: set(<strong>in</strong>t bitNummer) und clear(<strong>in</strong>t bitNummer).<br />

Mengenor<strong>in</strong>tierte Operationen. Das Bitset erlaubt mengenorientierte Operationen mit<br />

e<strong>in</strong>er weiteren Menge.<br />

BitSet<br />

Abb.: Die Klasse BitSet<br />

public void and(BitSet bs)<br />

public void or(BitSet bs)<br />

public void xor(BitSet bs)<br />

public void andNot(Bitset set)<br />

// löscht alle Bits im Bitset, <strong>de</strong>ssen Bit <strong>in</strong> set gesetzt s<strong>in</strong>d<br />

public void clear(<strong>in</strong>t <strong>in</strong><strong>de</strong>x)<br />

// Löscht e<strong>in</strong> Bit. Ist <strong>de</strong>r In<strong>de</strong>x negativ, kommt es<br />

// zur Auslösung von In<strong>de</strong>xOutOfBoundsException<br />

public void set(<strong>in</strong>t <strong>in</strong><strong>de</strong>x)<br />

// Setzt e<strong>in</strong> Bit. Ist <strong>de</strong>r In<strong>de</strong>x negativ, kommt es<br />

// zur Auslösung von In<strong>de</strong>xOutOfBoundsException<br />

public boolean get(<strong>in</strong>t <strong>in</strong><strong>de</strong>x)<br />

// liefert <strong>de</strong>n Wert <strong>de</strong>s Felds am übergebenen In<strong>de</strong>x,<br />

// kann In<strong>de</strong>xOutOfBoundsException auslösen.<br />

public <strong>in</strong>t size()<br />

public boolean equals(Object o)<br />

// Vergleicht sich mit e<strong>in</strong>em an<strong>de</strong>ren Bitset-Objekt o.<br />

Bsp. 306 : Anwendung <strong>de</strong>r Klasse BitSet bei <strong>de</strong>r Konstruktion e<strong>in</strong>er Menge von<br />

Primzahlen<br />

import java.util.*;<br />

public class Primtest<br />

{<br />

f<strong>in</strong>al static <strong>in</strong>t MAXPRIM = 30;<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

BitSet b = new BitSet();<br />

for (<strong>in</strong>t i = 2; i

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!