у Јави, Речник је листа парова кључ/вредност. Можемо да складиштимо, преузимамо, уклањамо, добијамо и стављамо вредности у речник коришћењем класе Јава Дицтионари. У овом одељку ћемо разговарати о Јава Речник класа која складишти податке у паровима кључ/вредност баш као и интерфејс мапе.
Јава Дицтионари Цласс
Јава Речник класа је апстрактна класа родитељ било које класе. То припада јава.утил пакет. Његова директна позната подкласа је Хасхтабле класа. Као и класа Хасхтабле, она такође мапира кључеве у вредности. Имајте на уму да су сваки кључ и вредност објекат и било који објекат који није нулти може се користити као кључ и као вредност. Хијерархија класа Речник је следећа:
Сваки кључ је повезан са највише једном вредношћу, као што је приказано на следећој слици. Једном када је вредност ускладиштена у објекту речника, можемо да је преузмемо помоћу кључа.
Синтакса:
шта је дупла јава
public abstract class Dictionary extends Object
Напомена: Класа је застарела. Дакле, имплементирајте интерфејс мапе уместо да проширите класу.
Дицтионари Цласс Цонструцтор
Класа има само конструктор који се зове а једини конструктор.
Синтакса:
public Dictionary()
Речник методе класе
Све методе класе Речник су апстрактан . Следећа табела описује методе.
Метод | Опис |
---|---|
јавни сажетак Енумератион елементс() | Враћа набрајање вредности у овом речнику. Враћени објекат енум генерише све елементе садржане у уносима у овом речнику. |
јавни сажетак В гет(кључ објекта) | Враћа вредност на коју је кључ мапиран у овом речнику. Он анализира објекат (кључ) у овом речнику. Имајте на уму да ако овај речник садржи унос за наведени кључ, придружена вредност се враћа; у супротном, враћа се нулл. Избацује НуллПоинтерЕкцептион ако је кључ нулл. |
јавни апстрактни боолеан исЕмпти() | Метод проверава да ли овај речник не мапира кључеве у вредност. Враћа тачно ако и само ако овај речник не садржи уносе, иначе враћа нетачно. |
јавни апстрактни кључеви за набрајање() | Враћа енум кључева у овом речнику. Враћени објекат енум генерише све кључеве за које овај речник садржи уносе. |
јавни апстракт В пут (К кључ, В вредност) | Метод се користи за убацивање пара кључ-вредност у речник. Пресликава наведени кључ у наведену вредност у овом речнику. Имајте на уму да ни кључ ни вредност не могу бити нулл. Ако речник већ садржи унос за наведени кључ, враћа се вредност која се већ налази у овом речнику за тај кључ, након измене уноса да садржи нови елемент. Ако речник већ нема унос за наведени кључ, креира се унос за наведени кључ и вредност и враћа се нулл. Он анализира кључ и вредност као параметар. Избацује НуллПоинтерЕкцептион ако је кључ или вредност нулл. |
јавни сажетак В уклони (кључ објекта) | Метод анализира кључ који желимо да уклонимо. Уклања кључ и придружену вредност. Имајте на уму да метода не ради ништа ако кључ није у речнику. Избацује НуллПоинтерЕкцептион ако је кључ нулл. |
јавни апстракт инт сизе() | Враћа број уноса (различитих кључева) у овом речнику. |
Јава програми речника
Употреба методе Дицтионари.пут().
Метод пут() убацује елементе у речник. Следећи програм показује исто.
ИнсертЕлементЕкампле.јава
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}
Употреба методе Дицтионари.сизе().
Величина речника је број елемената које речник садржи. У следећем програму, величина речника је 6.
ДицтионариСизеЕкампле.јава
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
Употреба методе Дицтионари.гет().
Коришћењем методе гет() можемо да преузмемо вредност одређеног кључа.
рј12 против рј11
ДицтионариГетЕлемент.јава
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
Употреба методе Дицтионари.исЕмпти().
Враћа тачно ако је речник празан, у супротном враћа нетачно.
ЕмптиЦхецкЕкампле.јава
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
Употреба методе Дицтионари.ремове().
Метода уклања кључ и одговарајућу вредност које смо рашчланили у методи. Уклоњена вредност се враћа методом.
РемовеЕлементЕкампле.јава
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
Употреба метода елементс() и кеи().
РемовеЕлементЕкампле.јава
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
Разлика између класе ХасхМап и Дицтионари
Тхе Јава ХасхМап класа и класа Речник обављају сличну функцију. Једина разлика је у томе ХасхМап имплементира интерфејс мапе док класа Дицтионари не . Према Јава документацији, класа Речник се више не користи јер је застарела. Уместо класе Дицтионари, користи се класа ХасхМап. Пошто можемо рећи да је ХасхМап врста речника.