logo

שיעור מילון ב-Java

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

כיתת מילון ג'אווה

Java מילון class היא כיתת אב בכיתה מופשטת של כל מחלקה. זה שייך ל java.util חֲבִילָה. תת המעמד הידוע הישיר שלו הוא ה טבלת גיבוב מעמד. כמו מחלקת ה-Hashtable, היא גם ממפה את המפתחות לערכים. שימו לב שכל מפתח וערך הם אובייקט וכל אובייקט שאינו ריק יכול לשמש כמפתח וכערך. היררכיית המחלקות של המילון היא כדלקמן:

שיעור מילון ב-Java

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

שיעור מילון ב-Java

תחביר:

 public abstract class Dictionary extends Object 

הערה: השיעור מיושן. אז, יישם את ממשק המפה במקום להרחיב את המחלקה.

בונה כיתות מילון

למחלקה יש רק בנאי שנקרא a בלעדי בַּנַאִי.

תחביר:

 public Dictionary() 

שיטות כיתה מילון

כל השיטות של מחלקת מילון הן תַקצִיר . הטבלה הבאה מתארת ​​את השיטות.

שיטה תיאור
תקציר ציבורי רכיבי ספירה() הוא מחזיר ספירה של הערכים במילון זה. אובייקט ה-enum המוחזר יוצר את כל האלמנטים הכלולים בערכים במילון זה.
תקציר ציבורי V get (מפתח אובייקט) הוא מחזיר את הערך שאליו ממופה המפתח במילון זה. הוא מנתח אובייקט (מפתח) במילון זה. שימו לב שאם מילון זה מכיל ערך עבור המפתח שצוין, הערך המשויך מוחזר; אחרת, null מוחזר. זה זורק NullPointerException אם המפתח הוא null.
תקציר ציבורי בוליאני הוא Empty() השיטה בודקת אם המילון הזה לא ממפה מפתחות לערך. זה מחזיר אמת אם ורק אם המילון הזה לא מכיל ערכים, אחרת מחזירה false.
תקציר ציבורי מפתחות ספירה() הוא מחזיר רשימה של המפתחות במילון זה. אובייקט ה-enum המוחזר יוצר את כל המפתחות שעבורם מילון זה מכיל ערכים.
תקציר V put ציבורי (מפתח K, ערך V) השיטה משמשת להוספת צמד מפתח-ערך למילון. הוא ממפה את המפתח שצוין לערך שצוין במילון זה. שים לב שלא מפתח ולא ערך יכולים להיות null.
אם המילון כבר מכיל ערך עבור המפתח שצוין, הערך שכבר נמצא במילון זה עבור אותו מפתח מוחזר, לאחר שינוי הערך כך שיכיל את האלמנט החדש.
אם למילון אין כבר ערך עבור המפתח שצוין, נוצר ערך עבור המפתח והערך שצוינו, ומוחזר null.
הוא מנתח מפתח וערך כפרמטר. זה זורק NullPointerException אם המפתח או הערך הם null.
תקציר ציבורי V הסר (מפתח אובייקט) השיטה מנתקת מפתח שאנו רוצים להסיר. זה מסיר את המפתח והערך המשויך. שימו לב שהשיטה לא עושה כלום אם המפתח לא נמצא במילון. זה זורק NullPointerException אם המפתח הוא null.
תקציר ציבורי int size() הוא מחזיר את מספר הערכים (מפתחות נפרדים) במילון זה.

תוכניות Java Dictionary

שימוש בשיטת Dictionary.put()

שיטת put() מכניסה את האלמנטים למילון. התוכנית הבאה מדגימה את אותו הדבר.

InsertElementExample.java

 import java.util.*; public class InsertElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints keys and corresponding values System.out.println(dict); } } 

תְפוּקָה:

 {108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney} 

שימוש בשיטת Dictionary.size()

גודל המילון הוא מספר האלמנטים שהמילון מכיל. בתוכנית הבאה, גודל המילון הוא 6.

DictionarySizeExample.java

 import java.util.*; public class DictionarySizeExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //prints the size of the dictionary System.out.println('The size of the dictionary is: '+dict.size()); } } 

תְפוּקָה:

 The size of the dictionary is: 6 

שימוש בשיטת Dictionary.get()

על ידי שימוש בשיטת get() נוכל לאחזר את הערך של מפתח שצוין.

DictionaryGetElement.java

 import java.util.*; public class DictionaryGetElement { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); //gets the value of the specified key System.out.println('The value of the specified key is: '+dict.get(103)); } } 

תְפוּקָה:

 The value of the specified key is: Melbourne 

שימוש בשיטת Dictionary.isEmpty()

זה מחזיר אמת אם המילון ריק, אחרת מחזירה false.

EmptyCheckExample.java

 import java.util.*; public class EmptyCheckExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); //checks if the dictionary is empty or not System.out.println('Is the dictionary empty? 
'+dict.isEmpty()); } } 

תְפוּקָה:

 Is the dictionary empty? false 

שימוש בשיטת Dictionary.remove()

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

RemoveElementExample.java

מה זה ערימת ג'אווה
 import java.util.*; public class RemoveElementExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(108, 'Canberra'); dict.put(106, 'Mount Gambier'); dict.put(104, 'Perth'); dict.put(102, 'Brisbane'); //removes the corresponding value of the specified key System.out.println('The removed value is: '+dict.remove(106)); } } 

תְפוּקָה:

 The removed value is: Mount Gambier 

שימוש בשיטות אלמנטים() ו-key().

RemoveElementExample.java

 import java.util.*; public class IterateKeyAndValuesExample { public static void main(String args[]) { //creating a dictionary Dictionary dict = new Hashtable(); //adding values in the dictionary dict.put(101, 'Sydney'); dict.put(102, 'Brisbane'); dict.put(103, 'Melbourne'); dict.put(104, 'Perth'); dict.put(105, 'Lismore'); dict.put(106, 'Mount Gambier'); dict.put(107, 'Nelson Bay'); dict.put(108, 'Canberra'); System.out.println('Dictionary values are: 
'); //loop iterate over the values stored in the dictionary for(Enumeration enm = dict.elements(); enm.hasMoreElements();) { //prints the value System.out.println(enm.nextElement()); } System.out.println('
Dictionary keys are: 
'); //loop iterate over the keys stored in the dictionary for(Enumeration enm = dict.keys(); enm.hasMoreElements();) { //prints the keys System.out.println(enm.nextElement()); } } } 

תְפוּקָה:

 Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101 

ההבדל בין מחלקת HashMap לשיעור המילון

הג'אווה מפת גיבוב class והמחלקה Dictionary מבצעות שתיהן פונקציה דומה. ההבדל היחיד הוא זה HashMap מיישמת את ממשק המפה בעוד המחלקה Dictionary לא . על פי תיעוד Java, המחלקה Dictionary אינה בשימוש עוד מכיוון שהיא מיושנת. במקום המחלקה Dictionary, משתמשים במחלקה HashMap. מכיוון שאנו יכולים לומר ש- HashMap הוא סוג של מילון.