관리 메뉴

아이짱구

List | Map | Set 본문

development/java

List | Map | Set

아이짱구 2008. 5. 27. 10:11

List | AbstractList, ArrayList, LinkedList, Vector
수집의 순서가 있으며, 중복 데이터 입력이 가능. 순차적으로 대량의 데이터를 관리하기에 유용한 방식이다.

Map | AbstractMap, Attributes, HashMap, Hashtable, IdentityHashMap, RenderingHints, TreeMap, WeakHashMap
Key와 Value의 형태로 관리된다. 키 값을 이용하여 value값을 얻는다. 동일한 데이터를 Key값으로 사용할 수 없다. 여러건의 데이터에서 원하는 특정 데이터에 검색할 때 유리한 방식이다.

Set | AbstractSet, HashSet, LinkedHashSet, TreeSet
중복데이터를 입력만 불가능하며 별다른 특징은 없다. 입력 된 순서는 따르지 않으며, 순차적인 접근 처리를 위해서는 Iterator로 순차처리가 가능하다.

Collection, List, Map, Set은 interface이며, 실제로 사용할 수 있게 구현한 것이 위의 자식 클래스들 입니다.

예: 생성방법)
List list = new Vector();
// 다형성(부모는 여러가지 자식의 형태로 나타날 수 있다)의 예가됩니다.

예: 클래스별 특이사항)
HashMap은 데이터 입출력이 동기화되지 않은 반면 처리속도가 빠르다.
HashTable은 모든 입출력이 동기화(토근을 부여받아 순차적으로 객체에 접근)되며 처리속도는 다소 떨어진다.

Vector는 동기화(synchronized) 되는 반면 ArrayList는 동기화하지 않습니다.

Comments