ch 11-1~2 컬렉션 프레임웍과 핵심 인터페이스
컬렉션 프레임웍(collections framework)
- 컬렉션(collection)
- 프레임웍(framework)
- 컬렉션 프레임웍(collections framework)
- 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 있는 다양한 클래스를 제공 (저장, 삭제, 검색, 정렬)
- java.util패키지에 포함. JDK1.2부터 제공
- 컬렉션 클래스(collection class)
- 다수의 데이터를 저장할 수 있는 클래스(Ex: Vector, ArrayList, HashSet)
컬렉션 프레임웍의 핵심 인터페이스
- 컬렉션 프레임웍(collections framework)
- 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션 프레임웍의 핵심 인터페이스 = 1. List 2. Set 3. Map
- List : 순서가 있고, 중복을 허용한다.
- Set : 순서가 없고, 중복을 허용하지 않는다. (=집합)
- Map : 키와 값이 한 쌍으로 이루어진 데이터 집합으로 순서가 없고, key는 중북을 허용하지 않지만, value는 중복을 허용한다.
Ex) ID와 PW (ID는 중복 불가 / PW는 중복 가능)
- Collection : List와 Set의 공통범위를 뽑아서 Collection 인터페이스에 저장했다.
ch 11-3~6 Collection, List, Set, Map
Collection 인터페이스의 메서드
- Collection 인터페이스
- List와 Set의 공통범위를 뽑아낸 것.
< Collection 인터페이스의 메서드 >
- add() / addAll() : 추가
- clear() : 전체 삭제
- contains : 지정된 객체를 포함하고 있는지 검색
- isEmpty() : 비어있는지 확인
- size() : 저장된 객체의 개수를 반환
- 기본적으로 추가, 삭제, 검색 등의 메서드를 가지고 있다.
List 인터페이스
- List 인터페이스
- (저장)순서 O, 중복 O
- Vector와 ArrayList는 비슷하나, Vector는 예전 것, ArrrayList는 최신 것이라는 차이가 있다.
< List 인터페이스의 메서드 >
- add() / addAll() : 추가
- remove() : 삭제
- get() : 읽기
- set() : 변경
- indexOf / lastIndexOf : 지정된 객체의 위치 검색 (indexOf = 왼->오 / lastIndexOf = 오 -> 왼)
- sort : 정렬
- subList : 전체에서 일부만 가지고 온다.
- List 인터페이스와 Set 인터페이스는 Collection 인터페이스가 가지고 있는 모든 메서드를 가지고 있다.
Set 인터페이스
- Set 인터페이스
- (저장)순서 X, 중복 X
< Set 인터페이스의 메서드 >
- Set 인터페이스의 메서드는 Collction 인터페이스와 동일하다.
- 집합과 관련된 메서드(Collection에 변화가 있으면 true, 아니면 false를 반환)
- 다 boolean을 반환한다.
Map 인터페이스
- Map 인터페이스
- (저장)순서 X, 중복(키X, 값O)
- HashMap은 순서가 없는데, 만약 순서를 있게 사용하고 싶다면, LinkedHashMap을 사ㅛㅇ하면 된다.
- Hashtable은 동기화가 되어있지만, HashMap은 동기화가 되어있지 않다.
< Map 인터페이스의 메서드 >
- put() / putAll() : 추가
- remove() : 삭제
- containsKey() / containsValue() / get() : 검색
- entrySet() / keySet() / values() : Map에 저장되어 있는 데이터를 읽기
- keySet : key값을 전부 읽어 온다.
- Collection values : value값을 전부 읽어 온다. (Collection 타입이므로 순서 있어도 되고 없어도 된다. / 중복 있어도 되고 없어도 된다. = Collection 타입이므로 List/Set 모두 가능)
- Set entrySet : Map에 저장되어 있는 모든 key-value 쌍을 읽어 온다. (Set 타입이므로 순서가 없고, 중복도 불가하다.)