컬렉션 프레임워크
컬렉션 collection 은 어레이 리스트 클래스, 해시 셋 클래스, 벡터 클래스와 같은 객체들을 나타내는 객체이고,
컬렉션 프레임워크 collection framework는 컬렉션들을 나타내고 조작하는 아키텍처입니다.
컬렉션 프레임워크를 적절히 활용하면 프로그래밍 비용을 줄이고, 성능을 높일 수 있습니다.
컬렉션 프레임워크는 컬렉션의 각기 다른 타입을 나타내는 컬렉션 인터페이스, 컬렉션 소팅과 같은 정적 메서드 등으로 이루어져 있으며,
그중 컬렉션 인터페이스는 컬렉션 프레임워크의 가장 기반을 이룹니다.
컬렉션 인터페이스
컬렉션 인터페이스는 java.util.Collection
과 java.util.Map
두 그룹으로 나뉩니다.
인터페이스 | 구현 클래스 |
Collection | ArrayList, LinkedList, Stack, Vector, TreeSet, HashSet, EnumSet, ConcurrentLinkedQueue ... |
Map | ConcurrentHashMap, EnumMap, HashMap, HashTable, IdentityHashMap, TreeMap ... |
Map 인터페이스에 기반을 둔 컬렉션 인터페이스들은 컬렉션이라기보다, 컬렉션으로써 조작할 수 있는 collection-view를 포함하고 있는 인터페이스입니다.
각각의 컬렉션은 다음과 같은 키워드들로 설명할 수 있습니다.
변경할 수 있는 메서드 지원 컬렉션 modifiable add, remove, clear 와 같은 변경 메서드를 지원함 |
지원 x 컬렉션 unmodifiable 변경 메서드를 지원하지 않음 |
가변 객체인 컬렉션 mutable collection 컬렉션 객체에서의 변경을 확인할 수 있음 |
불변 객체인 컬렉션 immutable collection 컬렉션 객체에서의 변경을 확인할 수 없음 |
고정 크기 리스트 fixed-size list 요소가 바뀌더라도 사이즈는 변하지 않음 |
가변 크기 리스트 variable-size list 사이즈가 변할 수 있음 |
임의 접근 리스트 random access list 어떤 요소이든 접근하는 데 걸리는 시간이 같음 가능함. O(1) |
순차 접근 리스트 sequential access list 요소에 접근하기 위해 리스트를 순회해야함. O(n) |
Reference
'hello 자바!' 카테고리의 다른 글
아주 간단한 Spring Boot 배포 (0) | 2022.03.19 |
---|---|
링크드 리스트로 브라우저 히스토리 구현하기 (0) | 2021.05.13 |
링크드 리스트 (0) | 2021.05.12 |
어레이 리스트 (0) | 2021.05.12 |