❓ 컬렉션(collection)이란
컬렉션(collection)이란 요소 객체들의 저장소를 말합니다. 배열과 비슷하게 데이터를 저장하는 저장소라는 거죠!
🤔 컬렉션 VS 배열
1. 요소의 개수에 따른 크기(길이) 관리
컬렉션은
요소의 개수에 따라 크기를 자동으로 조절할 수 있습니다.
컬렉션에 저장할 수 있는 요소의 개수를 정해 놓지 않아서 필요한 만큼 요소를 저장할 수 있다는 뜻입니다.
배열은
크기를 처음에 정해주어야 합니다. 그리고 그 크기만큼의 요소만을 저장할 수 있습니다.
한 번 크기를 정하면 그 크기보다 많은 요소를 저장할 수 없습니다.
2. 요소를 삽입하고 삭제할 때 요소의 위치 관리
또한
컬렉션은
요소를 삽입하고 삭제할 때 요소의 위치가 자동으로 이동됩니다.
컬렉션의 한 객체를 삽입하면 자동으로 뒤에 있는 객체들을 뒤로 밀어 그 자리를 만들어주거나
객체를 삭제하면 자동으로 그 빈 자리를 뒤에 객체들을 앞으로 가져와 채워준다고 생각하면 됩니다.
배열은
요소를 삽입하고 삭제할 때 직접 그 자리를 관리해야 합니다.
배열 중간에 요소를 추가하려면 직접 뒤에 있는 요소들을 한 칸씩 뒤로 밀어 자리를 만들어 준 후 추가해야 하고
요소를 삭제할 때 나오는 그 빈 자리를 다시 채우기 위해 직접 요소들을 한 칸씩 앞으로 가져와 저장해주어야 합니다.
⭐ 마무리 정리
컬렉션은
- 요소(element) 객체들을 저장하는 저장소
- 고정 크기의 배열을 다룰 때의 어려움을 해소
- 다양한 객체들을 삽입, 삭제, 검색할 때 관리가 용이
배열을 사용하는 것도 요소를 저장하기에 정말 효율적인 방법이지만
저장해야 하는 요소의 개수를 모른다면
컬렉션을 사용하는 것이 훨씬 더 효율적일 것 입니다!!
'개념정리 > Java' 카테고리의 다른 글
[JAVA] GUI - setBounds() 메서드로 버튼이 안 움직일 때 해결 방법! (아주 쉬워요!) (0) | 2023.07.28 |
---|---|
[JAVA] GUI - 프레임 생성 및 기본적인 설정 간단히 정리 (0) | 2023.07.26 |
[JAVA] 추상 메서드와 추상 클래스 쉽고 간단하게 알자! (0) | 2023.05.17 |
[JAVA] 메서드 - isEmpty() (0) | 2023.04.05 |
[Java] 배열(Array) (0) | 2022.09.07 |
❓ 컬렉션(collection)이란
컬렉션(collection)이란 요소 객체들의 저장소를 말합니다. 배열과 비슷하게 데이터를 저장하는 저장소라는 거죠!
🤔 컬렉션 VS 배열
1. 요소의 개수에 따른 크기(길이) 관리
컬렉션은
요소의 개수에 따라 크기를 자동으로 조절할 수 있습니다.
컬렉션에 저장할 수 있는 요소의 개수를 정해 놓지 않아서 필요한 만큼 요소를 저장할 수 있다는 뜻입니다.
배열은
크기를 처음에 정해주어야 합니다. 그리고 그 크기만큼의 요소만을 저장할 수 있습니다.
한 번 크기를 정하면 그 크기보다 많은 요소를 저장할 수 없습니다.
2. 요소를 삽입하고 삭제할 때 요소의 위치 관리
또한
컬렉션은
요소를 삽입하고 삭제할 때 요소의 위치가 자동으로 이동됩니다.
컬렉션의 한 객체를 삽입하면 자동으로 뒤에 있는 객체들을 뒤로 밀어 그 자리를 만들어주거나
객체를 삭제하면 자동으로 그 빈 자리를 뒤에 객체들을 앞으로 가져와 채워준다고 생각하면 됩니다.
배열은
요소를 삽입하고 삭제할 때 직접 그 자리를 관리해야 합니다.
배열 중간에 요소를 추가하려면 직접 뒤에 있는 요소들을 한 칸씩 뒤로 밀어 자리를 만들어 준 후 추가해야 하고
요소를 삭제할 때 나오는 그 빈 자리를 다시 채우기 위해 직접 요소들을 한 칸씩 앞으로 가져와 저장해주어야 합니다.
⭐ 마무리 정리
컬렉션은
- 요소(element) 객체들을 저장하는 저장소
- 고정 크기의 배열을 다룰 때의 어려움을 해소
- 다양한 객체들을 삽입, 삭제, 검색할 때 관리가 용이
배열을 사용하는 것도 요소를 저장하기에 정말 효율적인 방법이지만
저장해야 하는 요소의 개수를 모른다면
컬렉션을 사용하는 것이 훨씬 더 효율적일 것 입니다!!
'개념정리 > Java' 카테고리의 다른 글
[JAVA] GUI - setBounds() 메서드로 버튼이 안 움직일 때 해결 방법! (아주 쉬워요!) (0) | 2023.07.28 |
---|---|
[JAVA] GUI - 프레임 생성 및 기본적인 설정 간단히 정리 (0) | 2023.07.26 |
[JAVA] 추상 메서드와 추상 클래스 쉽고 간단하게 알자! (0) | 2023.05.17 |
[JAVA] 메서드 - isEmpty() (0) | 2023.04.05 |
[Java] 배열(Array) (0) | 2022.09.07 |