Bitset ב- Java: כל מה שאתה צריך לדעת על שיטות Bitset ב- Java



מאמר זה יציג בפניכם את Bitsets ב- Java בפירוט ויכיר בפניכם שיטות Bitset שונות עם דוגמאות רלוונטיות.

הוא אחד ההסמכות הנחשבות ביותר עבור המתכנתים. הסיבה העיקרית לכך היא Java שמציעה גמישות רבה ותכונות שונות כדי לפשט משימות שונות. מאמר זה מציג בפניכם תכונה כזו שהיא ' ביטים בג'אווה '. אלו עצות שמאמר זה יתמקד בהן:

אז בואו נתחיל עם נושא הדיון הראשון אז,





מה הם Bitsets בג'אווה?

ביטים מייצגים רצף בגודל קבוע של ביטים N עם ערכים או אפס או אחד. אפס פירושו שהערך הוא שקר או לא מוגדר. אחד פירושו שערך הוא נכון או מוגדר. גודל Bitset קבוע בזמן הידור.Bitset הוא מחלקה המוגדרת בחבילת java.util. זהו סוג מיוחד של מערך המכיל ערכי סיביות. הוא מיישם וקטור של ביטים. גודלו גדל אוטומטית ככל שיש צורך בסיביות נוספות.

מחלקה זו מספקת לנו שני סוגים של בונים ליצירת סט ביטים ממספרים שלמים כמו גם ממחרוזות. שני אלה הם:



  • Bitset (): זהו בונה ללא ויכוח ליצור אובייקט ברירת מחדל.
  • Bitset (גודל int): זהו קונסטרוקטור אחד בעל ארגומנטים שלמים כדי ליצור מופע של מחלקת הביטים עם הגודל הראשוני של ארגומנט המספר השלם המייצג את המספר לא. של ביטים.

לדוגמה:

ייבא java.util.BitSet מחלקה ציבורית BitSetJava דוגמה {main public static void main (String args []) {int n = 8 BitSet p = BitSet new (n) for (int i = 0i



עכשיו נתקדם הלאה ונסתכל על נושא הדיון הבא במאמר זה על ביטים בג'אווה,

שיטות ותיאורי BAVET JAVA

שיטת Bitset ו- ()

שיטה זו משמשת לביצוע הפעלה AND לוגית של ערכת סיביות היעד עם הארגומנט שצוין. ערך הסט מתגשם רק ורק אם לשני הביטים בתחילה ולמערכת הסיביות המתאימה יש את הערך האמיתי.

תחביר: חלל ציבורי ו (ערכת BitSet)

דוגמא:

ייבא java.util.BitSet מחלקה ציבורית BitSetAndExample2 {ציבורי ריק סטטי ריק (String [] args) {// צור 2 סיביות BitSet bitset1 = BitSet חדש () BitSet bitset2 = BitSet חדש () // הקצה ערכים ל- bitset1 bitset1.set ( 1) bitset1.set (2) bitset1.set (3) bitset1.set (6) bitset1.set (7) // הקצאת ערכים ל- bitset2 bitset2.set (10) bitset2.set (20) bitset2.set (30) bitset2.set (40) bitset2.set (60) // הדפס את הסטים System.out.println ('bitset1:' + bitset1) System.out.println ('bitset2:' + bitset2) // ביצוע והפעלה בין שניים bitsets bitset1.and (bitset2) // הדפס את ה- bitset1 System.out.println החדש ('bitset result:' + bitset1)}}

תְפוּקָה:

שיטת Bitset andNot ()

משתמשים בשיטה זו כדי לנקות את כל הסיבית בסיבית שביטים מקבילים שלה כבר מוגדרים בגרסת הסיביות שצוינה.

מיון מערך c ++

תחביר- חלל ציבורי andNot (ערכת BitSet)

דוגמא:

ייבא java.util.BitSet מחלקה ציבורית BitSetAndNotExample2 {ציבורי ריק ריק סטטי (String [] args) {BitSet bitset1 = BitSet new () bitset1.set (60) bitset1.set (61) bitset1.set (62) bitset1.set ( 63) bitset1.set (64) // להדפיס את הסטים System.out.println ('bitset1:' + bitset1) // לבצע andNot פעולה בין bitset לאפס לזרוק bitset1.andNot (null) // להדפיס את מערכת bitset1 החדשה .out.println ('תוצאה של ערכת ביטים לאחר ולא:' + סיבית 1)}}

תְפוּקָה:-

שיטת Bitset Cardinality ()

משתמשים בשיטה זו כדי להחזיר את מספר הביטים בלבד שנכונים בסיבית.

תחביר- קרדינליות ציבורית ציבורית ()

דוגמא

ייבא java.util.BitSet מחלקה ציבורית BitSetCardinalityExample1 {ציבורי ריק ריק סטטי (מחרוזת [] args) {// צור ערכת ביטס-ביט-סט = חדש BitSet () // הקצה ערכים ל- bitset bitset.set (10) bitset.set (11) ) bitset.set (12) bitset.set (15) bitset.set (16) // להדפיס את הסטים System.out.println ('bitset:' + bitet) int trueBits = bitset.cardinality () // להדפיס cardinality של ערכת bits. System.out.println ('מספר ביטים אמיתיים:' + trueBits) bitset.clear (2) System.out.println ('bitset after index clear 2:' + bitet) trueBits = bitset.cardinality () // print bitset קרדינליות לאחר אינדקס ברור 2 System.out.println ('מספר ביטים אמיתיים אחרי אינדקס ברור 2:' + trueBits)}}

תְפוּקָה-

שיטת שיבוט BitSet ()

משתמשים בשיטה זו כדי להפוך את שיבוט הביט-סט לביט-חדש. סט ביט זה שווה לביט המקורי הנוכחי. ערכת הביטים המשובטים נושאת בדיוק את אותם ערכים אמיתיים שהביט המקורי נושא.

תחביר- שיבוט אובייקט ציבורי ()

דוגמא -

ייבא java.util.BitSet מחלקה ציבורית BitSetCloneExample1 {ציבורי ריק סטטי ציבורי (String [] args) {BitSet bitsetOriginal = BitSet new (15) bitsetOriginal.set (12) bitsetOriginal.set (13) bitsetOriginal.set (15) bitsetOriginal.set (16) bitsetOriginal.set (18) // הדפס את מערכת הביטים הנוכחית System.out.println ('ערכת ביטים נוכחית:' + bitsetOriginal) // יצירת שיבוט של ערכת הביטים הנוכחית אובייקט bitsetClone = bitsetOriginal.clone () // הדפסת מערכת ביט ביט משובט. out.println ('ערכת ביט משובט:' + ביט קלון)}}

תְפוּקָה

BitSet שווה () שיטה

שיטה זו של ערכת הסיביות JAVA משמשת להשוואת אובייקט הסיביות הנוכחי עם אובייקט הסיביות המצוין.

התוצאה של השוואת ערכת ביטים מחזירה true אם ורק אם אובייקט ה- bitset שצוין אינו אפס וקבוצת אובייקט ה- bitset צריכה להיות באותה קבוצה בדיוק של ערכת ביטים לערך אמיתי כמו ביטס זה.

תחביר- שווה ציבורית בוליאנית (אובייקט אובייקט)

דוגמא -

ייבא java.util.BitSet מחלקה ציבורית BitSetEqualsExample1 {ציבורי ריק סטטי ראשי (מחרוזת [] טענות) {// יצירת ערכת ביטס BitSet = חדש BitSet (15) אובייקט obj = BitSet חדש (15) bitset.set (10) bitset.set (11) bitset.set (12) bitset.set (13) bitset.set (14) ((BitSet) obj). Set (10) ((BitSet) obj). Set (11) ((BitSet) obj). set (12) ((BitSet) obj) .set (13) ((BitSet) obj). set (14) // הדפס סיביות נוכחיות System.out.println ('bitset:' + bitet) System.out.println ( 'object:' + obj) בוליאני bol = bitset.equals (obj) אם (bol == true) {System.out.println ('BitSet שווה לאובייקט שצוין')} אחר {System.out.println ('BitSet אינו שווה לאובייקט שצוין ')}}}
 

תְפוּקָה

שיטת BitSet היא ריקה

שיטה זו מחזירה אמת אם סט ביט זה אינו מכיל ביטים שמוגדרים כ- true.

מה עושה איטרטור בג'אווה

תחביר- ציבורי בוליאני הוא ריק ()

דוגמא

ייבא java.util.BitSet מחלקה ציבורית BitSetIsEmptyExample1 {public static void main (String [] args) {BitSet bitset1 = BitSet new (15) BitSet bitset2 = BitSet new (15) bitset1.set (11) bitset1.set (12) bitset1 .set (13) bitset1.set (14) System.out.println ('bitset1:' + bitset1) System.out.println ('bitset2:' + bitset2) // מחזיר שקר שכן bitset1 אינו ריק בוליאני b1 = bitset1 .isEmpty () // מחזירה נכון כ- bitset2 הוא ריק boolean b2 = bitset2.isEmpty () System.out.println ('bitset1 isEmpty:' + b1) System.out.println ('bitset2 isEmpty:' + b2)}}

תְפוּקָה

שיטת BitSet אורך ()

שיטה זו מחזירה את הגודל ההגיוני של סט ביט זה. האורך עולה לאינדקס של הביט הקבוע הגבוה ביותר פלוס אחד.הוא מחזיר אפס אם ערכת הסיביות אינה מכילה סיבית כלשהי.

תחביר- אורך מידע ציבורי ()

דוגמא-

ייבא java.util.BitSet מחלקה ציבורית BitSetLengthExample1 {ציבורי ריק ריק סטריטי (מחרוזת [] args) {BitSet bitset1 = BitSet חדש (15) BitSet bitset2 = BitSet חדש (15) BitSet bitset3 = BitSet חדש (15) bitset2.set (11 ) bitset2.set (12) bitset2.set (13) bitset2.set (14) bitset3.set (12) bitset3.set (14) bitset3.set (16) bitset3.set (18) bitset3.set (0) bitset3 .set (2) System.out.println ('bitset1:' + bitset1) System.out.println ('bitset2:' + bitset2) System.out.println ('bitset3:' + bitset3) int length1 = bitset1.length () int length2 = bitset2.length () int length3 = bitset3.length () System.out.println ('אורך bitset1:' + length1) System.out.println ('אורך bitset2:' + length2) מערכת. out.println ('אורך bitset3:' + אורך 3)}}

תְפוּקָה-

שיטת BitSet מצטלבת ()

שיטה זו מחזירה את הערך הבוליאני נכון או כוזב על בסיס אם קטע הפרמטר הצטלב או לא.זה מחזיר נכון אם ערכת BitSet נכונה גם בסיבית זו.

תחביר- צמתים בוליאניים ציבוריים (ערכת BitSet)

דוגמא

ייבא java.util.BitSet מחלקה ציבורית BitSetEntersectsExample2 {ציבורי ריק ריק סטריטי (String [] args) {BitSet bitset = BitSet new (15) bitset.set (11) bitset.set (12) bitset.set (13) bitset.set (14) System.out.println ('סיבית:' + סיבית) // לבצע andNot פעולה בין סיביות לאפס לזרוק יוצא מן הכלל בוליאני b = סיבית.אינטרקטים (null) '+ ב)}}

תְפוּקָה-

בעזרת מפעילים סיביות אנו יכולים ליישם פעולות שונות כמו AND, OR, NOT, XOR וכו '. הם עובדים בקנה מידה קטן יותר. ניתן ליישם אותם על כל סוג שלם. מפעילי סיביות פועלים ברמת סיביות. הם מהירים ודורשים פחות זיכרון. אלגוריתמי הצפנה רבים עובדים גם ברמת הסיביות.

כיצד להמיר כפול ל- int

זהו זה חבר'ה. זה מביא אותנו לסוף מאמר זה בנושא Bits In Java. אני מקווה שנהניתם מהמידע הזה. בדוק את מאת אדוריקה, חברת למידה מקוונת אמינה. ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה נועדו לתת לך יתרון בתכנות Java ולהכשיר אותך למושגי ליבה מרכזיים ומתקדמים יותר יחד עם מסגרות Java שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת במדור התגובות בבלוג זה ונחזור אליך בהקדם האפשרי.