CodeGym /جاوا بلاگ /Random-SD /جاوا ۾ ڊڪشنري ڪيئن ٺاھيو
John Squirrels
سطح
San Francisco

جاوا ۾ ڊڪشنري ڪيئن ٺاھيو

گروپ ۾ شايع ٿيل
جيڪڏهن توهان کي جاوا پروگرام ۾ ڊڪشنري ٺاهڻ جي ضرورت آهي، هن مسئلي کي حل ڪرڻ لاء سڀ کان وڌيڪ منطقي طريقو لغت ڊيٽا جي جوڙجڪ کي استعمال ڪرڻ آهي. هي ڊيٽا ڍانچي توهان کي معلومات کي فارم ۾ ذخيرو ڪرڻ جي اجازت ڏئي ٿو "key - value". جاوا وٽ هڪ خاص ڊڪشنري ڪلاس آهي ۽ ان سان گڏ ان جو نسل، Hashtable . اتي پڻ نقشو انٽرفيس ۽ HashMap ڪلاس آھي، جيڪو پڻ "ڪي-ويل" جوڙو ذخيرو ڪري ٿو. تنهنڪري جاوا ڊڪشنري ٺاهڻ جا ڪيترائي طريقا آهن.

ڊڪشنري ڊيٽا جي جوڙجڪ

تنهن ڪري، ڊڪشنري ڊيٽا جي جوڙجڪ معلومات کي هڪ اهم-قدر جي ميلاپ طور محفوظ ڪري ٿو. اهو آهي، ڪنهن به قدر سان اسان هڪ ڪني سان ڳنڍيندا آهيون (اهو ٿي سگهي ٿو، مثال طور، id) ۽ هن جوڙي کي ڊڪشنري ۾ داخل ڪريو. لغت جي هڪ عنصر کي خطاب ڪرڻ، حذف ڪرڻ، لغت ۾ ڳولهڻ ڪيئي جي ذريعي ڪيو ويندو آهي. اهو لڳي ٿو ته اهڙي ڊيٽا جي جوڙجڪ کي منظم ڪرڻ لاء، مثال طور، هڪ ٽيليفون ڪتاب، جتي نالو (ڪي) فون نمبر (قيمت) سان ملندو آهي.

ڊڪشنري ڪلاس ۽ ان جي توسيع

شروع ڪرڻ سان، java.util.Dictionary <K, V> util.Dictionary ھڪڙو خلاصو طبقو آھي. اهو هڪ اهم-قدر رشتي جي نمائندگي ڪري ٿو ۽ نقشي وانگر ڪم ڪري ٿو. هڪ چاٻي ڏني وڃي ته توهان قدرن کي ذخيرو ڪري سگهو ٿا ۽ جڏهن ضرورت هجي ته ان جي چيڪ کي استعمال ڪندي قيمت واپس حاصل ڪري سگهو ٿا. اهڙيء طرح، اهو اهم-قدر جوڙو جي هڪ فهرست آهي.
public abstract class Dictionary<K,V> extends Object
جيئن ته هي ڪلاس خلاصو آهي، اسان ان سان سڌو سنئون ڪم نه ڪنداسين. ڊڪشنري ۾ هڪ سڌي چائلڊ ڪلاس Hashtable آهي . تنهنڪري جاوا ۾ ڊڪشنري ٺاهڻ لاءِ توهان استعمال ڪري سگهو ٿا Hashtable . هي ڪلاس هڪ هيش ٽيبل لاڳو ڪري ٿو، جيڪو نقشن جي قدرن کي نقشي ۾ رکي ٿو ۽ ڪنهن به غير null اعتراض کي ڪي يا قدر جي طور تي استعمال ڪري سگهجي ٿو. جاوا جي جوڙجڪ ۾ Hashtable ڊڪشنري کي وڌايو ۽ نقشو لاڳو ڪري ٿو . اچو ته هڪ مثال ڏيو. اسان Hashtable تي ٻڌل هڪ کلاسک ڊڪشنري، هڪ ٽيليفون ڪتاب ٺاهڻ وارا آهيون .
Dictionary phoneBook = new Hashtable();
جيڪڏهن اسان هن طريقي سان لکون ٿا، اسان کي ڪجهه عملن لاء قسم ڪاسٽنگ لاڳو ڪرڻ گهرجي. مثال طور، هڪ اهم اضافي لاء.
System.out.println(((Hashtable) phoneBook).keySet());
هن کان بچڻ لاء، اسان تبديل ڪري سگهون ٿا
Dictionary phoneBook = new Hashtable ();
تي
Hashtable phoneBook = new Hashtable ();
اسان جي مثال ۾، وضاحت لاء، اسان پهريون اختيار ڇڏينداسين.
import java.util.Dictionary;
import java.util.Hashtable;

public class DictionaryDemo {

       public static void main(String[] args) {

           Dictionary phoneBook = new Hashtable();

           // put() method
           phoneBook.put("Johnny Walker", "2178");
           phoneBook.put("Andrew Arnold", "1298");
           phoneBook.put("Ivy Briggs", "1877");
           phoneBook.put("Ricky McBright", "2001");

           //print out Hashtable out
           System.out.println(phoneBook);

           //let's get the value using the key
           System.out.println(phoneBook.get("Ivy Briggs"));
           //there's no such key in out Hashtable
           System.out.println(phoneBook.get("Sol Frank"));

           //Is there a record with the "Johnny Walker" key?
           System.out.println(((Hashtable) phoneBook).containsKey("Johnny Walker"));
           //all keys of the Hashtable
           System.out.println(((Hashtable) phoneBook).keySet());
           //values from Hashtable
           System.out.println(((Hashtable) phoneBook).values());

           //the quantity of records
           System.out.println(phoneBook.size());
           //removing one record
           phoneBook.remove("Andrew Arnold");
           System.out.println(phoneBook);
       }
   }
پيداوار آهي:
اينڊريو آرنلڊ = 1298، جاني واکر = 2178، ريڪي ميڪ برائيٽ = 2001، آئيوي برگس = 1877} 1877 null سچا [Andrew Arnold, Johnny Walker, Ricky McBright, Ivy Briggs] [1298, 2178, 2001 Walker 1800] = 2178، رڪي ميڪ برائٽ = 2001، آئيوي برگس = 1877}

HashMap هڪ لغت جي طور تي

HashMap ، Hashtable جي برعڪس، ڊڪشنري جو سڌو اولاد نه آهي . جڏهن ته، ڪيترن ئي خاصيتن جي ڪري، اڪثر ڪيسن ۾ اهو بهتر آهي ته ڊڪشنري ٺاهڻ لاء HashMap استعمال ڪندي . HashMap ڪلاس ڪارڪردگي ۾ تمام گهڻو ساڳيو آهي Hashtable . بنيادي فرق اهو آهي ته Hashtable جا طريقا هم وقت ساز آهن، پر HashMap نه آهن. Hashtable ۾ هم وقت سازي ڪوڊ جي ڪارڪردگي کي گھٽائي ٿي. ان کان علاوه، HashMap ڪلاس، Hashtable جي برعڪس ، استعمال ڪرڻ جي اجازت ڏئي ٿو null کي ڪي (هڪ) ۽ قدر جي طور تي null جو هڪ سيٽ. اسان جي حالت ۾، پروگرام بلڪل ساڳيو نظر ايندو جيئن مٿي ڏنل مثال. فرق صرف جمع جي قسم ۾ آهي. جڏهن ته، اڪثر ڪيسن ۾ جاوا ۾ لغات سان ڪم ڪرڻ لاء هي ترجيح طريقو آهي.
import java.util.HashMap;
import java.util.Map;

public class DictionaryDemo2 {

   public static void main(String[] args) {

       Map<String, String> phoneBook = new HashMap<String,String>();

       phoneBook.put("Johnny Walker", "2178");
       phoneBook.put("Andrew Arnold", "1298");
       phoneBook.put("Ivy Briggs", "1877");
       phoneBook.put("Ricky McBright", "2001");

       System.out.println(phoneBook);

       System.out.println(phoneBook.get("Johnny Walker"));
       System.out.println(phoneBook.get("Ivy Briggs"));
       System.out.println(phoneBook.get("Unknown Friend"));

       System.out.println(phoneBook.containsKey("Johnny Walker"));
       System.out.println(phoneBook.containsKey("Unknown Friend"));

       System.out.println(phoneBook.keySet());
       System.out.println(phoneBook.values());

       System.out.println(phoneBook.size());

       phoneBook.remove("Andrew Arnold");

       System.out.println(phoneBook);
   }

}
هتي جي پيداوار آهي:
اينڊريو آرنولڊ = 1298، آئيوي برگس = 1877، ريڪي ميڪ برائٽ = 2001، جاني واکر = 2178} 2178 1877 null true false [Andrew Arnold, Ivy Briggs, Ricky McBright, Johnny Walker] [1298, 2001, 1878, 2001 آئيوي برگس = 1877، رڪي ميڪ برائٽ = 2001، جاني واکر = 2178}
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION