실제 책에서와 같이 사전을 구현하려고합니다. 나는 단어와 그 의미의 목록이 있습니다.
Java가 단어 목록과 의미를 키 / 값 쌍으로 저장하기 위해 제공하는 데이터 구조 / 유형
키가 주어진 경우 어떻게 값을 찾아 반환 할 수 있습니까?
실제 책에서와 같이 사전을 구현하려고합니다. 나는 단어와 그 의미의 목록이 있습니다.
Java가 단어 목록과 의미를 키 / 값 쌍으로 저장하기 위해 제공하는 데이터 구조 / 유형
키가 주어진 경우 어떻게 값을 찾아 반환 할 수 있습니까?
답변:
을 원할 것 Map<String, String>
입니다. Map
인터페이스 를 구현하는 클래스 에는 다음이 포함되지만 이에 국한되지는 않습니다.
각각은 특정 상황에 맞게 설계 / 최적화되었습니다 (자세한 내용은 해당 문서로 이동). HashMap
아마도 가장 일반적 일 것입니다. 기본 이동.
예를 들어 (a 사용 HashMap
) :
Map<String, String> map = new HashMap<String, String>();
map.put("dog", "type of animal");
System.out.println(map.get("dog"));
동물의 종류
Map
(javadoc 확인)
Map<String, String> map = new HashMap<>();
텍스트 사전 (문자열)을 만듭니다.
Map<String, String> dictionary = new HashMap<String, String>();
그런 다음 그것을 다음과 같이 사용하십시오 :
dictionary.put("key", "value");
String value = dictionary.get("key");
작동하지만 생성자 클래스를 선언 클래스와 동일하게 유지 해야하는 오류가 발생합니다. 부모 클래스에서 상속 받는다는 것을 알고 있지만 불행히도 런타임에 오류가 발생합니다.
Map<String, String> dictionary = new Map<String, String>();
이것은 제대로 작동합니다.
dictionary["key"]
작동하지 않습니다-이어야합니다 dictionary.get("key")
.
추상 클래스 사전이 있습니다
http://docs.oracle.com/javase/6/docs/api/java/util/Dictionary.html
그러나 이것은 구현이 필요합니다.
Java는 Hashtable이라는 멋진 구현을 제공합니다
http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html
Dictionary
사용되지 않으며 어떤 구현도 확장되지 않습니다.