컬렉션(collection)
프레임웍(framework)
- 표준화, 정형화된 체계적인 프로그래밍 방식
- 프로그래밍 방식: 프로그래밍을 어떻게 어떻게 해라 라고 정해놓은 것
- 자유도는 적지만 정해진대로만 해서 생산성이 올라간다는 장점이 있다
- 또한 유지 보수가 쉽다
참고로 데시몰포맷이나 심플데이터포맷은 JavaAPI가 제공하는 기능으로 특별한 형식없이 갖다 쓰면된다.
컬렉션 프레임웍(collection framework)
- 컬렉션(다수의 객체, 데이터)을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공한다
- java.util 패키지에 포함되어있다. (JDK 1.2부터 제공)
컬렉션 클래스(collection class)
- 다수의 데이터를 저장할 수 있는 클래스
- 예) Vector, ArrayList, HashSet)
—-
컬렉션 프레임웍의 핵심 인터페이스
List
- 순서가 있는 데이터의 집합
- 데이터의 중복을 허용
Set
- 순서를 유지하지 않는 데이터의 집합
- 데이터의 중복을 허용하지 않음
- 예) 양의 정수집합, 소수의 집합, 네발 동물의 집합
- 집합의 특징이 순서를 유지하지 않고 중복 허용이 안된다는 것!
- 구현 클래스
Map
- 키(key)와 값(value)의 쌍(pair)로 이루어진 데이터의 집합
- 순서 유지되지 않음
- 키는 중복 허용 안됨
- 값은 중복 허용 됨
- 예) 아이디+패스워드, 우편번호, 지역번호(전화번호)
- 구현 클래스
- HashMap / TreeMap / Hashtable / Properties 등
—-
Collection 인터페이스의 메서드
↳ 추가/검색/삭제가 기본 기능!
—-
List 인터페이스
- 저장된 순서 유지
- 중복을 허용한다
- 같은 값 허용
↳ get은 읽기, set은 변경
Set 인터페이스
- 저장되는 순서 유지 안함
- 중복 허용 하지 않음
↳메서드를 호출한 다음에 컬렉션에 변화가 있으면 true, 아니면 false 를 반환한다
Map 인터페이스
- 저장되는 순서 유지 안함
- 키는 중복 허용 안하고 값은 중복 허용함
↳LinkedHashMap은 순서 유지한다.
↳객체를 추가할 땐 put / putAll을 쓴다.
- Set entrySet()/keySet(), Collection values()는 다 읽기 메서드이다
- keySet()은 key값만 읽어올 수 있다.
- value()는 value값만 읽어올 수 있다. 순서가 있어도 되고없어도 되는, 중복이 있어도 되고 없어도 되는 Collection타입으로 반환한다.
- entrySet()은 key와 value 한쌍을 entry라고 하는데 모든 entry를 읽어올 때 쓰는 메서드이다, 키과 값을 하나로 묶은 객체를 Set으로 반환한다. 즉 순서 없고 중복허용은 값만 하는 타입으로 반환