Java nyelven, Szótár a kulcs-érték párok listája. A Java Dictionary osztály használatával értékeket tárolhatunk, lekérhetünk, eltávolíthatunk, beszerezhetünk és elhelyezhetünk a szótárban. Ebben a részben a Jáva Szótár osztály, amely kulcs-érték párokban tárolja az adatokat, akárcsak a Map felület.
Java szótár osztály
Jáva Szótár osztály bármely osztály absztrakt osztályának szülőosztálya. hozzátartozik java.util csomag. Közvetlenül ismert alosztálya a Hashtable osztály. A Hashtable osztályhoz hasonlóan ez is leképezi a kulcsokat az értékekre. Vegye figyelembe, hogy minden kulcs és érték objektum, és minden nem nulla objektum használható kulcsként és értékként. A szótár osztályhierarchiája a következő:
Minden kulcshoz legfeljebb egy érték tartozik, ahogy az a következő ábrán látható. Miután az értéket egy szótárobjektumban tároltuk, a kulcs használatával lekérhetjük.
Szintaxis:
public abstract class Dictionary extends Object
Megjegyzés: Az osztály elavult. Tehát az osztály kiterjesztése helyett valósítsa meg a térképi felületet.
Szótár osztálykészítő
Az osztálynak csak egy a nevű konstruktora van egyetlen konstruktőr.
mysql lista felhasználók
Szintaxis:
karakterlánc átalakítása int-re
public Dictionary()
Szótári osztálymódszerek
A Dictionary osztály összes metódusa az absztrakt . Az alábbi táblázat a módszereket írja le.
Módszer | Leírás |
---|---|
public abstract Enumeration elements() | A szótárban szereplő értékek felsorolását adja vissza. A visszaadott enum objektum előállítja a szótár bejegyzéseiben található összes elemet. |
nyilvános absztrakt V get (objektumkulcs) | Azt az értéket adja vissza, amelyhez a kulcs le van rendelve ebben a szótárban. Elemez egy objektumot (kulcsot) ebben a szótárban. Vegye figyelembe, hogy ha ez a szótár tartalmaz egy bejegyzést a megadott kulcshoz, akkor a rendszer a kapcsolódó értéket adja vissza; ellenkező esetben null értéket ad vissza. NullPointerExceptiont dob, ha a kulcs nulla. |
nyilvános absztrakt logikai érték isEmpty() | A módszer ellenőrzi, hogy ez a szótár nem képez-e le kulcsokat az értékhez. Akkor és csak akkor ad vissza igazat, ha ez a szótár nem tartalmaz bejegyzéseket, egyébként hamis értéket ad vissza. |
nyilvános absztrakt Felsorolási kulcsok() | A szótár kulcsainak egy sorszámát adja vissza. A visszaadott enum objektum előállítja az összes kulcsot, amelyhez ez a szótár bejegyzéseket tartalmaz. |
nyilvános absztrakt V put(K kulcs, V érték) | A módszer a kulcs-érték pár beillesztésére szolgál a szótárba. A megadott kulcsot leképezi a szótárban megadott értékre. Vegye figyelembe, hogy sem a kulcs, sem az érték nem lehet nulla. Ha a szótár már tartalmaz egy bejegyzést a megadott kulcshoz, akkor a szótárban már az adott kulcshoz tartozó érték kerül visszaadásra, miután módosította a bejegyzést, hogy tartalmazza az új elemet. Ha a szótárban még nincs bejegyzés a megadott kulcshoz, akkor a megadott kulcshoz és értékhez bejegyzés jön létre, és nulla értéket ad vissza. Paraméterként elemzi a kulcsot és az értéket. NullPointerExceptiont dob, ha a kulcs vagy az érték null. |
nyilvános absztrakt V eltávolítás (objektumkulcs) | A metódus elemzi az eltávolítani kívánt kulcsot. Eltávolítja a kulcsot és a hozzá tartozó értéket. Vegye figyelembe, hogy a metódus nem csinál semmit, ha a kulcs nincs a szótárban. NullPointerExceptiont dob, ha a kulcs nulla. |
publikus absztrakt int méret() | A szótár bejegyzéseinek (különböző kulcsainak) számát adja vissza. |
Java szótár programok
A Dictionary.put() metódus használata
A put() metódus beszúrja az elemeket a szótárba. A következő program ugyanezt mutatja be.
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); } }
Kimenet:
{108=Canberra, 107=Nelson Bay, 106=Mount Gambier, 105=Lismore, 104=Perth, 103=Melbourne, 102=Brisbane, 101=Sydney}
A Dictionary.size() módszer használata
A szótár mérete a szótár elemeinek száma. A következő programban a szótár mérete 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()); } }
Kimenet:
bash ellenőrizze, hogy a környezeti változó be van-e állítva
The size of the dictionary is: 6
A Dictionary.get() metódus használata
A get() metódus használatával lekérhetjük egy megadott kulcs értékét.
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)); } }
Kimenet:
The value of the specified key is: Melbourne
A Dictionary.isEmpty() metódus használata
Igazat ad vissza, ha a szótár üres, egyébként hamis értéket ad vissza.
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()); } }
Kimenet:
centos vs redhat
Is the dictionary empty? false
A Dictionary.remove() metódus használata
A metódus eltávolítja a metódusban elemzett kulcsot és a megfelelő értéket. Az eltávolított értéket a metódus adja vissza.
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)); } }
Kimenet:
The removed value is: Mount Gambier
Az elements() és key() metódusok használata
RemoveElementExample.java
karakterlánc egész számmá alakítása
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()); } } }
Kimenet:
Dictionary values are: Canberra Nelson Bay Mount Gambier Lismore Perth Melbourne Brisbane Sydney Dictionary keys are: 108 107 106 105 104 103 102 101
A HashMap és a Dictionary osztály közötti különbség
A Java HashMap osztály és a Szótár osztály egyaránt hasonló funkciót lát el. Az egyetlen különbség az A HashMap megvalósítja a Map Interface-t, míg a Dictionary osztály nem . A Java dokumentáció szerint a Dictionary osztály már nincs használatban, mert elavult. A Dictionary osztály helyett a HashMap osztályt használjuk. Mivel azt mondhatjuk, hogy a HashMap egyfajta szótár.