<컬렉션(Collection)>
- 메모리상에서 자료를 구조적으로(ex.배열) 처리하는 방법을 자료구조라 일컫는데
컬렉션은 자바에서 제공하는 자료구조 모음 (List, Set, Map)
- java.util 패키지에 포함되며, 인터페이스를 통해 정형화된 방법으로 다양한 컬렉션 클래스 이용 가능
<자료 구조>
- 데이터(자료)를 메모리에서 구조적으로 처리하는 방법론이다
<배열의 문제점 & 컬렉션의 장점>
1) 배열의 문제점
(1) 한 번 크기를 지정하면 변경할 수 없다
- 공간 크기가 부족하면 에러가 발생 -> 할당 시 넉넉한 크기로 할당하게 됨 (메모리 낭비)
- 필요에 따라 공간을 늘리거나 줄일 수 없음
(2) 배열에 기록된 데이터에 대한 중간 위치의 추가, 삭제가 불편하다
- 추가, 삭제할 데이터부터 마지막 기록된 데이터까지 하나씩 뒤로 밀어내고 추가해야 함 (복잡한 알고리즘)
(3) 한 타입의 데이터만 저장 가능하다
2) 컬렉션의 장점
(1) 저장하는 크기의 제약이 없다
(2) 추가, 삭제, 정렬 등의 기능 처리가 간단하게 해결된다
- 자료를 구조적으로 처리하는 자료구조가 내 장되어 있어 알고리즘 구현이 필요 없음
(3) 여러 타입의 데이터가 저장 가능하다
- 객체만 저장할 수 있기 때문에 필요에 따라 기본 자료형을 저장해야 하는 경우 Wrapper클래스 사용
3) 컬렉션의 주요 인터페이스
- (접점) 관련 없는 것들 연결
- 공통된 메소드명을 제공하여 규약을 만듦
(1) Collection 인터페이스
- List, Set의 공통 코드를 작성한 단순한 부모 인터페이스
(2) Java Collection
- 자바의 자료 구조 모음 (List, Set, Map)
'JAVA' 카테고리의 다른 글
[JAVA] 객체, 필드, 생성자, 메모리 사용 영역 (0) | 2023.04.04 |
---|---|
[JAVA] List, 향상된 for문, split (1) | 2023.03.16 |
[JAVA] 예외 처리 (1) | 2023.03.15 |
[JAVA] 인터페이스, 상속 (0) | 2023.03.13 |
[JAVA] 다형성 업캐스팅, 다운캐스팅, 추상클래스, 추상 메소드 (0) | 2023.03.09 |