- 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)); // 데이터를 출력
}
}
- 결과