2013년 6월 28일 금요일

(130628) 5일차 HashTableTest.java (Collection API - Map, Set, List // Map의 Hashtable 테스트)

 - Collection API
 - Collection API 내부의 interface
 : Collection – 순서가 없이 객체 저장
 : Set – 중복 없이 객체 저장
 : List – 순서대로 객체 저장, 중복허용

 - Map
 : name-value 형식으로 저장 : java.util.HashMap 등

 - Collection, Set, List는 모두 가변적인 길이를 제공한다.
 - 즉, Collection API는 여러개의 데이터를 저장하기 위해서 사용한다. (가변적으로 바뀌는 것을 저장하기 위해서)
 - Map : Key값과 Value 값을 가진다. 키값을 기준으로 데이터를 저장한다. (Hashtable)
 - Set : Set 인터페이스를 상속받는 인터페이스는 데이터를 집어넣을 수 있다. 하지만 순서대로 데이터가 들어가지 않고 메모리 어딘가에 들어간다. 또한 중복이 허용되지 않는다.
 - List : 데이터가 Index 형태로 저장되므로 배열처럼 사용하기 쉽다. 데이터가 순차적으로 들어간다.



 - Class Hashtable<K,V>
 : put(K key, V value)
 : get(Object key)


 - Map의 Hashtable 테스트 소스 (HashTableTest.java) 
import java.util.Hashtable;

public class HashTableTest {

public static void main(String[] args) {
// map 계열인 Hashtable 선언
Hashtable<Integer, String> hash = new Hashtable<>();

// 데이터를 입력
hash.put(1, "이문세");
hash.put(2, "소녀시대");
hash.put(3, "시스타");
hash.put(4, "걸스데이");
hash.put(5, "박문수");
for(int i = 1 ; i<hash.size()+1 ; i++) // hash.size() : hash 테이블의 크기
System.out.println(hash.get(i)); // 데이터를 출력

System.out.println();
Hashtable<String, String> hash2 = new Hashtable<>();
// 데이터를 입력
hash2.put("1", "이문세");
hash2.put("2", "소녀시대");
hash2.put("3", "시스타");
hash2.put("4", "걸스데이");
hash2.put("5", "박문수");

for(int i = 1 ; i<hash.size()+1 ; i++) // hash.size() : hash 테이블의 크기
System.out.println(hash2.get(i+"")); // 데이터를 출력
System.out.println();
Hashtable<String, String> hash3 = new Hashtable<>();
// 데이터를 입력
hash3.put("a1", "이문세");
hash3.put("a2", "소녀시대");
hash3.put("a3", "시스타");
hash3.put("a4", "걸스데이");
hash3.put("a5", "박문수");

for(int i = 1 ; i<hash.size()+1 ; i++) // hash.size() : hash 테이블의 크기
System.out.println(hash3.get("a"+i)); // 데이터를 출력
}
}


 - 결과