-
11 (1) 컬렉션프레임웍과 핵심 인터페이스Java 2023. 5. 14. 22:05반응형
컬렉션 프레임웍 (collections framework)
컬렉션(collection)
- 여러 객체(데이터)를 모아 놓은 것을 의미
프레임웍(framework)
- 표준화, 정형화된 체계적인 프로그래밍 방식
컬레션 프레임웍(collections framework)
- 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식
- 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공
>> 컬렉션(데이터가 많다) , 다룰 수 (저장, 삭제, 검색, 정렬)
- java.util 패키지에 포함. JDK1.2부터 제공
컬렉션 클래스(collection class)
- 다수의 데이터를 저장할 수 있는 클래스(예, Vector, ArrayList, HashSet)
컬렉션 프레임웍의 핵심 인터페이스
Collection 인터페이스의 메서드
List 인터페스 - 순서O, 중복O
List 인터페이스의 메서드
Set 인터페이스 - 순서X, 중복X
- Set 인터페이스의 메서드 - Collection 인터페이스와 동일
Map 인터페이스의 메서드 - 순서X, 중복(키X, 값O)
ArrayList
-ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적으로 동일
Vector는 자체적으로 동기화 처리가 되어 있으나 ArrayList는 그렇지 않다
(Vectoe 동기화O, ArrayList 동기화X)
-List인터페이를 구현하므로, 저장순서가 유지되고 중복을 허용한다.
-데이터의 저장공간으로 배열을 사용한다.(배열기반)
ArrayList의 메서드
ArrayList에 저장된 객체의 삭제과정1
>> 삽입은 반대 과정
ArrayList에 저장된 객체의 삭제 과정2
LinkedList
배열의 장단점
- 장점 : 배열은 구조가 간단하고 데이터를 읽는데 걸리는 시간
(접근시간, access time)이 짧다.
- 단점 1 : 크기를 변경할 수 없다.
>> 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야함.
>> 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리가 낭비됨.
- 단점 2: 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다.
>> 데이터를 추가하거나 삭제하기 위해, 다른 데이터를 옮겨야 함.
>> 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다.
LinkedList - 이중 연결 리스트
>> 더블리 써귤러 링크드 리스트(doubly circular linked list) - 이중 원형 연결리스트
반응형'Java' 카테고리의 다른 글
11 (3) Iterator, Enumeration, Map과 Iterator (0) 2023.05.19 11 (2) Stack과 Queue (0) 2023.05.15 10 (1) Calender 클래스 (0) 2023.05.14 09 (4) StringBuffer클래스 (0) 2023.05.13 09 (3) String클래스 (0) 2023.05.12