728x90
반응형

데이터 군을 저장하는 클래스들을 표준화한 설계

 

컬렉션 Collection : 다수의 데이터, 데이트 그룹

프레임웍 Framework : 표준화된 프로그래밍 방식

 

Vector, Hashtable, Properties 같은 컬렉션 클래스, 다수의 데이터를 저장할 수 있는 클래스들을 서로 다른 각자의 방식으로 처리해야 했으나, 컬렉션 프레임웍이 등장하며 다양한 종류의 컬렉션 클래스가 추가, 모든 컬렉션 클래스를 표준화된 방식으로 다룰 수 있도록 체계화됨

 

컬렉션 데이터 그룹 크게 3가지 타입이 존재한다고 인식, 각 컬렉션을 다루는데 필요한 기능을 가진 3개의 인터페이스

 

List , Set -> Collection

Map

 

List : 순서가 있는 데이터의 집합, 중복 허용 : ArrayList, LinkedList, Stack, Vector

Set : 순서를 유지하지 않는 데이터의 집합, 중복 허용 안됨 : HashSet, TreeSet

Map : 키와 값의 쌍으로 이루어진 데이터 집합, 순서 유지 안됨, 키는 중복 허용 안됨, 값은 중복 가능 : HashMap, TreeMap, HashTable, Properties 등

 

컬렉션 프레임워크의 모든 컬렉션 클래스들은 List, Set, Map 중의 하나를 구현하고 있고 인터페이스 이름이 클래스 이름에 포함되어 있어

 

Vector, Stack, Hashtable, Properties 같은 클래스들은 컬렉션 프레임웤이 만들어지기 전부터 있던거라 명명법 따르지 않음

 

Object > Abstract Collection  > Abstract List > Vector

 Collection > List  > Vector

 

 

Collection 인터페이스는 컬렉션 클래스에 저장된 데이터를 읽고 추가하고 삭제하는 컬렉션을 다루는데 가장 기본적인 메서드 정의

add, addAll : 지정된 객체/Collection 객체를 컬렉션에 추가

clear() : 컬렉션의 모든 객체 삭제

contains, containsAll : 지정된 객체/Collection 객체가 컬렉션에 포함되어있는지 확인

equals() : 동일한 컬렉션인지 비교

hashCode : Collection의 hash code 반환

isEmpty()

iterator : Collection의 iterator 얻어서 반환

remove() 지정된 객체 삭제

removeAll(c) : 지정된 컬렉션에 포함된 객체 삭제

retainAll(c) : 지정된 컬렉션에 포함된 객체만 남기고 나머지 삭제, 이 작업으로 컬렉션에 변화가 생기면 true

size() : 컬렉션에 저장된 객체 개수 반환

toArray() : 컬렉션에 저장된 객체를 객체배열로 반환

 

 

 

 

List 인터페이스 : 중복 허용 , 저장 순서 유지

add addAll get(index) indexof(Object) remove, set(index, element), sort(comparator), subList(from to)

- Vector, Stack, ArrayList, LinkedList

 

Set 인터페이스 : 중복 허용안됨, 저장 순서 유지 안됨

HashSet, SortedSet, TreeSet

 

 

Map 인터페이스 : 키는 중복 안됨

HashTable, HashMap, LinkedHashMap, SortedMap, TreeMap

 

 

Map.Entry 인터페이스 : Map 인터페이스 내부 인터페이스

보다 객체지향적으로 설계하도록 유도하기 위한 것, Map 인터페이스를 구현하는 클래스에서는 Map.Entity 인터페이스 함께 구현해야 함

 

반응형

+ Recent posts