[Java] Collection Framework 간단 정리

Posted by ironmask84
2016. 6. 17. 16:15 나는 프로그래머다!/Java & Android




Collection Framework는 크게 3가지 형태로 분류할 수 있다.
  - Map  : key와 Value를 가지는 자료구조입니다. HashMap, Hashtable, TreeMap 등
  - List  : 순서가 있고 중복이 허용되는 자료구조입니다. ArrayList, LinkedList, Vector 등
  - Set   : 중복을 허용하지 않습니다.  HashSet, TreeSet 등



인터페이스에 대한 hierarchy관계를 이해하고 사용예제를 통해 각 인터페이스에 대한 특성을 확인해 보도록 한다.

[그림 3] Collection Interface 구성도


기본적으로 Collection의 경우 연속된 순서의 선형 자료형을 구현한 인터페이스이며, MAP은 Key, Value를 다루는 자료형을 구현한 인터페이스 이다. 기존에 구현된 Vector와 Hashtable의 경우, Synchronized를 지원하도록 설계되었기 때문에 다중 스레드 접근 시 병목현상을 유발할 수 있기 때문에 유의해서 사용하도록 한다.

** Collections Synchronized 

import java.util.*;

public class SynchronizedCollectionTest {
   public static void main(String[] args) {
       // create vector object
       List<String> list = new ArrayList<String>();

       // populate the list
       list.add("1");
       list.add("2");
       list.add("3");
       list.add("4");
       list.add("5");

       // create a synchronized list
       List<String> synlist = Collections.synchronizedList(list);
       System.out.println("list :"+synlist);
   }
}



참고 : http://rocksea.tistory.com/336
        http://whosnext.blog.me/100037993078