ระดับ Java Bitset
ชั้น Bitset สร้างชนิดพิเศษมากมายในการเก็บค่าบิต bitset ที่มีขนาดของอาร์เรย์จะต้องเพิ่มขึ้น นี้บิตเวกเตอร์ (เวกเตอร์ของบิต) เปรียบเทียบชอบด้วยเช่น
ซึ่งเป็นระดับแบบดั้งเดิม แต่มันถูกออกแบบใหม่อย่างสมบูรณ์ใน Java 2
BitSet กำหนดสองก่อสร้าง
ตัวสร้างครั้งแรกสร้างวัตถุเริ่มต้น:
BitSet()
วิธีที่สองช่วยให้ผู้ใช้เพื่อระบุขนาดเริ่มต้น บิตทั้งหมดจะเริ่มต้น 0
BitSet(int size)
วิธี BitSet ดำเนินการติดต่อแบบจำลองที่กำหนดไว้ในตารางด้านล่างดังนี้
เลขที่ | วิธีการรายละเอียด |
---|---|
1 | และถือเป็นโมฆะ (BitSet bitset) บิตเป้าหมายชุดนี้มีข้อโต้แย้งบิตการตั้งค่าและการดำเนินการตรรกะ |
2 | เป็นโมฆะ andNot (BitSet bitset) ล้างทั้งหมดของบิตใน BitSet นี้มีบิตที่สอดคล้องกันตั้งอยู่ใน BitSet ระบุ |
3 | int cardinality () ส่งกลับจำนวนของบิตใน BitSet นี้ตั้งค่าเป็นจริง |
4 | ถือเป็นโมฆะชัดเจน () ทุกบิตใน BitSet นี้เพื่อเท็จ |
5 | ถือเป็นโมฆะชัดเจน (ดัชนี int) บิตระบุโดยดัชนีเท็จ |
6 | เป็นโมฆะชัดเจน (int startIndex, int endIndex) ที่ระบุ fromIndex (รวม) เพื่อ toIndex ระบุ (ไม่รวม) บิตตั้งอยู่ในช่วงของการเท็จ |
7 | โคลนวัตถุ () คัดลอก BitSet นี้สร้าง BitSet ใหม่ที่มีค่าเท่ากับ |
8 | เท่ากับบูลีน (Object bitset) วัตถุนี้กับวัตถุที่ระบุที่จะเปรียบเทียบ |
9 | พลิกเป็นโมฆะ (ดัชนี int) บิตที่ดัชนีที่ระบุในการค่าปัจจุบันของการเติมเต็ม |
10 | พลิกเป็นโมฆะ (int startIndex, int endIndex) ที่ระบุ fromIndex (รวม) เพื่อ toIndex ระบุ (ไม่รวม) สำหรับแต่ละบิตภายในขอบเขตของค่าปัจจุบันของส่วนประกอบ |
11 | บูลีนได้รับ (ดัชนี int) ส่งกลับค่าบิตที่ดัชนีที่ระบุ |
12 | BitSet รับ (int startIndex, int endIndex) ส่งกลับ BitSet ใหม่นี้ประกอบด้วย BitSet จาก fromIndex (รวม) เพื่อ toIndex (ไม่รวม) ตำแหน่งในช่วง |
13 | int hashCode () ส่งคืนค่ารหัสกัญชาสำหรับชุดบิตนี้ |
14 | ปริภูมิบูลีน (BitSet bitset) หาก BitSet ระบุมีบิตใด ๆ ที่ตั้งค่าเป็นจริงและใน BitSet นี้จะถูกตั้งค่าเป็นจริงแล้วกลับ ture |
15 | บูลีน isEmpty () หาก BitSet นี้มีบิตไม่มีกำหนดเป็นจริงแล้วกลับ ture |
16 | ความยาว int () ผลตอบแทนของ BitSet ขนาด "ตรรกะ" ดัชนี BitSet ของบิตชุดสูงสุดบวกหนึ่ง |
17 | int nextClearBit (int startIndex) ผลตอบแทนดัชนีแรกที่มีการตั้งค่าบิตที่ผิดพลาดซึ่งเกิดขึ้นในหรือหลังวันที่เริ่มต้นดัชนีดัชนีที่ระบุ |
18 | int nextSetBit (int startIndex) ส่งกลับบิตแรกมีการตั้งค่าดัชนีความจริงที่เกิดขึ้นในหรือหลังดัชนีดัชนีที่ระบุเริ่มต้น |
19 | เป็นโมฆะหรือ (BitSet bitset) บิตชุดนี้กับชุดพารามิเตอร์บิตหรือการดำเนินการเชิงตรรกะ |
20 | เป็นโมฆะชุด (ดัชนี int) บิตที่ดัชนีที่ระบุถูกตั้งค่าเป็นจริง |
21 | ชุดโมฆะ (int ดัชนีบูลีน V) บิตที่ดัชนีที่ระบุเป็นค่าที่ระบุ |
22 | ชุดโมฆะ (int startIndex, int endIndex) ที่ระบุ fromIndex (รวม) เพื่อ toIndex ระบุ (ไม่รวม) บิตตั้งอยู่ในช่วงของจริง |
23 | ชุดโมฆะ (int startIndex, int endIndex บูลีน V) ที่ระบุ fromIndex (รวม) เพื่อ toIndex ระบุ (ไม่รวม) บิตตั้งอยู่ในช่วงราคาที่กำหนดไว้ |
24 | ขนาด int () ผลตอบแทนที่ได้ BitSet หมายถึงการใช้งานจริงของพื้นที่เมื่อค่าบิตของบิต |
25 | String toString () ผลตอบแทนที่ได้เป็นตัวแทนสตริงของชุดบิตนี้ |
26 | เป็นโมฆะ XOR (BitSet bitset) บิตชุดนี้มีพารามิเตอร์บิตชุดที่จะทำการดำเนินการแฮคเกอร์ตรรกะ |
ตัวอย่าง
โปรแกรมต่อไปนี้แสดงให้เห็นถึงโครงสร้างข้อมูลนี้สนับสนุนหลายวิธี:
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); } }
ตัวอย่างข้างต้นรวบรวมผลมีดังนี้
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: {}