1.1 컬렉션 프레임웍(collection framework)이란?
▶ 컬렉션 프레임웍(collection framework)
- 데이터 군(群)을 저장하는 클래스들을 표준화한 설계
- 다수의 데이터를 쉽게 처리할 수 있는 방법을 제공하는 클래스들로 구성
▶ 컬렉션 프레임웍(collection framework)
- 다수의 데이터, 즉, 데이터 그룹을 의미한다.
▶ 컬렉션(collection)
- 표준화, 정형화된 체계적인 프로그래밍 방식
▶ 프레임웍(framework)
- 다수의 데이터를 저장할 수 있는 클래스(예, Vector, ArrayList, HashSet)
▶ 컬렉션 클래스(collection class)
- JDK1.2부터 제공 \
1.2 컬렉션 프레임웍의 핵심 인터페이스
1.3 컬렉션 프레임웍의 동기화(synchronization)
- 멀티쓰레드 프로그래밍에서는 컬렉션 클래스에 동기화 처리가 필요하다.
- Vector와 같은 구버젼 클래스들은 자체적으로 동기화처리가 되어 있다.
- ArrayList와 같은 신버젼 클래스들은 별도의 동기화처리가 필요하다.
- Collections클래스는 다음과 같은 동기화 처리 메서드를 제공한다.
#참고: 배열 선언
#참고: Looping over an array
1.4 Vector와 ArrayList
- ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적으로 동일
- List인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다.
- 데이터의 저장공간으로 배열을 사용한다.(배열기반)
- Vector는 자체적으로 동기화처리가 되어 있으나 ArrayList는 그렇지 않다.
1.5 ArrayList의 단점 - 배열의 단점
- 배열은 구조가 간단하고 데이터를 읽어오는 데 걸리는 시간(접근시간, access time)이 가장 빠르다는 장점이 있지만 단점도 있다.
▶ 단점 1 : 크기를 변경할 수 없다.
- 크기를 변경해야 하는 경우 새로운 배열을 생성하고 데이터를 복사해야 한다.(비용이 큰 작업)
- 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리 낭비가 심해진다.
▶ 단점 2 : 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다.
- 그러나, 순차적인 데이터 추가(마지막에 추가)와 순차적으로 데이터를 삭제하는 것(마지막에서부터 삭제)은 빠르다.
'기타 및 프로그래밍(Java)' 카테고리의 다른 글
라이카 브랜드의 숨겨진 흑역사에 대해 알려 드립니다 (0) | 2023.07.02 |
---|---|
러시아 바그너 군사그룹이 푸틴 쿠데타를 하는 이유 요약 정리 (0) | 2023.06.24 |
자바 프로그래밍, switch 문 설명 (0) | 2022.04.19 |
자바 프로그래밍 조건문 if 설명 (0) | 2022.04.19 |
|중급 자바| java.lang 패키지와 오토박싱 (0) | 2022.04.19 |
댓글