logo

Java의 사전 클래스

자바에서는 사전 키-값 쌍의 목록입니다. Java Dictionary 클래스를 사용하여 사전에 값을 저장, 검색, 제거, 가져오기 및 입력할 수 있습니다. 이 섹션에서는 자바 사전 Map 인터페이스와 마찬가지로 키-값 쌍으로 데이터를 저장하는 클래스입니다.

자바 사전 클래스

자바 사전 클래스는 모든 클래스의 추상 클래스 상위 클래스입니다. 에 속한다 java.util 패키지. 직접 알려진 하위 클래스는 다음과 같습니다. 해시테이블 수업. Hashtable 클래스와 마찬가지로 키를 값에 매핑합니다. 모든 키와 값은 객체이며 null이 아닌 객체는 키와 값으로 사용될 수 있습니다. Dictionary 클래스 계층 구조는 다음과 같습니다.

Java의 사전 클래스

다음 그림에 표시된 것처럼 모든 키는 최대 하나의 값과 연결됩니다. 값이 사전 객체에 저장되면 키를 사용하여 값을 검색할 수 있습니다.

Java의 사전 클래스

통사론:

 public abstract class Dictionary extends Object 

참고: 이 클래스는 더 이상 사용되지 않습니다. 따라서 클래스를 확장하는 대신 지도 인터페이스를 구현하세요.

사전 클래스 생성자

클래스에는 a라는 생성자만 있습니다. 밑창 건설자.

통사론:

 public Dictionary() 

사전 클래스 메서드

Dictionary 클래스의 모든 메소드는 다음과 같습니다. 추상적인 . 다음 표에서는 방법에 대해 설명합니다.

방법 설명
공개 추상 열거 요소() 이 사전에 있는 값의 열거를 반환합니다. 반환된 enum 객체는 이 사전의 항목에 포함된 모든 요소를 ​​생성합니다.
공개 추상 V get(객체 키) 이 사전에서 키가 매핑된 값을 반환합니다. 이 사전의 객체(키)를 구문 분석합니다. 이 사전에 지정된 키에 대한 항목이 포함되어 있으면 관련 값이 반환됩니다. 그렇지 않으면 null이 반환됩니다. 키가 null이면 NullPointerException이 발생합니다.
공개 추상 부울 isEmpty() 이 메서드는 이 사전이 값에 키를 매핑하지 않는지 확인합니다. 이 사전에 항목이 없는 경우에만 true를 반환하고, 그렇지 않으면 false를 반환합니다.
공개 추상 열거 키() 이 사전에 있는 키의 열거형을 반환합니다. 반환된 enum 객체는 이 사전에 항목이 포함된 모든 키를 생성합니다.
공개 추상 V put(K 키, V 값) 이 메서드는 사전에 키-값 쌍을 삽입하는 데 사용됩니다. 지정된 키를 이 사전의 지정된 값에 매핑합니다. 키나 값은 null이 될 수 없습니다.
사전에 지정된 키에 대한 항목이 이미 포함되어 있는 경우 새 요소를 포함하도록 항목을 수정한 후 해당 키에 대해 이 사전에 이미 있는 값이 반환됩니다.
사전에 지정된 키에 대한 항목이 아직 없으면 지정된 키와 값에 대한 항목이 생성되고 null이 반환됩니다.
키와 값을 매개변수로 구문 분석합니다. 키나 값이 null이면 NullPointerException이 발생합니다.
공개 추상 V 제거(객체 키) 이 메서드는 제거하려는 키를 구문 분석합니다. 키와 관련 값을 제거합니다. 키가 사전에 없으면 이 메서드는 아무 작업도 수행하지 않습니다. 키가 null이면 NullPointerException이 발생합니다.
공개 추상 int 크기() 이 사전의 항목(고유 키) 수를 반환합니다.

자바 사전 프로그램

Dictionary.put() 메서드 사용

put() 메소드는 사전에 요소를 삽입합니다. 다음 프로그램은 동일한 내용을 보여줍니다.

삽입요소Example.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)); } } 

산출:

자바에서 문자열을 int로
 The value of the specified key is: Melbourne 

Dictionary.isEmpty() 메서드 사용

사전이 비어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

비어있는CheckExample.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 

elements() 및 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과 Dictionary 클래스의 차이점

자바 해시맵 클래스와 Dictionary 클래스는 모두 비슷한 기능을 수행합니다. 유일한 차이점은 HashMap은 Map 인터페이스를 구현하지만 Dictionary 클래스는 구현하지 않습니다. . Java 문서에 따르면 Dictionary 클래스는 오래되었기 때문에 더 이상 사용되지 않습니다. Dictionary 클래스 대신 HashMap 클래스가 사용됩니다. HashMap은 일종의 사전이라고 말할 수 있습니다.