반응형
HashTable 입력과 출력에 대해서 알아보다가 괜찮은 예제가 있어서 남겨둔다.
import java.util.Collection;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;
public class TestClient {
public static void main(String[] args) {
/*
* HashTable 간략 정리
* 1. Key와 Value에 NULL 을 허용하지 않음
* 2. 동기화 (Synchronized)
* 3. 중복 허용 안함.
*/
// Hashtable 생성
Hashtable hashTable =
new Hashtable();
hashTable.put("연예인", "김태희");
hashTable.put("연예인", "송승헌");
hashTable.put("연예인", "이병헌");
hashTable.put("연예인", "조인성");
// 중복이 없습니다.
System.out.println(hashTable.size());
// 값을 출력합니다.
Collection values = hashTable.values();
for (String string : values) {
// 결과는 조인성 입니다.
// 마지막에 입력된 값이 조인성 이기 때문에.
System.out.println(string);
}
hashTable.put("연예인", "김태희");
hashTable.put("아이돌", "아이유");
hashTable.put("영화배우", "이병헌");
hashTable.put("가수", "김경호");
/*
* HashTable 데이터를 출력하는 방법
* 1. Key값으로 객체를 찾음
* 2. values 를 사용하여 Collection 형태로 찾음
*/
// 방법 1
Enumeration keys = hashTable.keys();
while (keys.hasMoreElements()) {
// Key 를 찾고 찾은 key로 Value를 찾습니다.
String key = (String) keys.nextElement();
System.out.println("Key: "+ key +" value: "+ hashTable.get(key));
}
// 방법 2
Collection tableValues = hashTable.values();
for (String value : tableValues) {
System.out.println("value: "+ value);
}
// 방법 3
Set keySet = hashTable.keySet();
Iterator iterKey = keySet.iterator();
while(iterKey.hasNext()) {
String key = iterKey.next();
System.out.println("Key: "+ key +" value: "+ hashTable.get(key));
}
/*
* 물론 어떻게 사용하느냐에 따라 다르겠지만
* 1, 3번 방법은
* Key값에 해당하는 Value를 찾을 때 주로 사용 하고
*
* 2.번 방법은
* value를 나열 할때 주로 사용합니다.
* 특정 키와 상관 없이 모든 value를 사용할 때 사용합니다.
*
*/
}
}
반응형
'Programming > JAVA' 카테고리의 다른 글
[Java] substring , indexOf , charAt 을 이용한 문자열 (0) | 2019.08.24 |
---|---|
hashTable 이용해서 단어들 조합하기 (1) | 2019.08.23 |
Hashtable clear() Method in Java (1) | 2019.08.22 |