infatuation

Collection Framework(Collection_Map) 본문

Programming/Java/C/C++

Collection Framework(Collection_Map)

화령 2011. 4. 9. 20:08
Collection Framework

Java에서 사용하는 Data 저장방법에는 2가지가 있다. Collection 과 Map

이 중 Collection은 간단히 말하면 객체들의 모임이라 할 수 있다. 표준화된 자료구조 중 하나이다. 다수의 데이터를 쉽게 처리할 수 있는 표준화 된 방법을 제공하는 클래스들을 모아둔 것을 Collection Framework라 하고 Collection은 Set과 List의 공통 부분을 뽑아서 새로운 인터페이스로 정의해 놓은 것이다. 하지만 Map은 전혀 다른 형태로 데이터를 다루기 때문에 같은 상속 계층도에서 포함되지 못했다. 



1) Set 은 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다.
   
- 구현 클래스 : HashSet, TreeSet 등

2) List 는 순서가 있는 데이터의 집합으로 데이터의 중복을 표현한다.

   - 구현 클래스 : ArrayList, LinkedList, Stack, Vector


Map 인터페이스는 Key와 Value를 하나의 쌍으로 묶어서 저장하는 자료구조이다. 

Key는 중복될 수 없지만 Value는 중복을 허용한다.

- 구현클래스 : HashTable, HashMap, LinkedHashMap, SortedMap, TreeMap 등

Map의 예

import java.util.Map;
import java.util.HashMap;
 
class MapTest {
        public static void main(String[] args) {
                Map<string, integer=""> score = new HashMap<string, integer="">();
 
                score.put("kim", new Integer(80));
                score.put("lee", new Integer(90));
 
                int i = score.get("kim").intValue(); // 아래 줄과 같은 표현
                int j = score.get("lee");
                
                System.out.println( i + j );    // 170
        } 
} 
 

* 특징
1. 구성원 객체의 수가 변경되었으면 true 반환
2. 허용하지 않는 Method는 UnsupportedOperationException 발생
3. add, addAll Method는 ClassCastException 발생가능
4. null을 허용하지 않을 경우 NullPointerException 발생 가능
5. 조건에 맞지 않을 경우 IllegalArgumentException 발생 가능

'Programming > Java/C/C++' 카테고리의 다른 글

C Language Keyword  (1) 2011.04.10
Generic  (0) 2010.10.26
Java Callback Function  (0) 2010.10.26
JVM Terminated Exit code = -1  (0) 2010.05.15