개념정리/Java

[JAVA] 컬렉션(collection)과 배열(array)의 차이점 간단히 정리☆

iamjisu 2023. 5. 25. 09:32

컬렉션(collection)이란

컬렉션(collection)이란 요소 객체들의 저장소를 말합니다. 배열과 비슷하게 데이터를 저장하는 저장소라는 거죠!


🤔 컬렉션 VS 배열

 

1. 요소의 개수에 따른 크기(길이) 관리

컬렉션은

요소의 개수에 따라 크기를 자동으로 조절할 수 있습니다.

컬렉션에 저장할 수 있는 요소의 개수를 정해 놓지 않아서 필요한 만큼 요소를 저장할 수 있다는 뜻입니다.

 

배열은

크기를 처음에 정해주어야 합니다. 그리고 그 크기만큼의 요소만을 저장할 수 있습니다.

한 번 크기를 정하면 그 크기보다 많은 요소를 저장할 수 없습니다.

 

 

 

2. 요소를 삽입하고 삭제할 때 요소의 위치 관리

또한

컬렉션은

요소를 삽입하고 삭제할 때 요소의 위치가 자동으로 이동됩니다.

컬렉션의 한 객체를 삽입하면 자동으로 뒤에 있는 객체들을 뒤로 밀어 그 자리를 만들어주거나

객체를 삭제하면  자동으로  그 빈 자리를 뒤에 객체들을 앞으로 가져와 채워준다고 생각하면 됩니다.

 

배열은

요소를 삽입하고 삭제할 때 직접 그 자리를 관리해야 합니다.

배열 중간에 요소를 추가하려면 직접 뒤에 있는 요소들을 한 칸씩 뒤로 밀어 자리를 만들어 준 후 추가해야 하고

요소를 삭제할 때 나오는 그 빈 자리를 다시 채우기 위해 직접 요소들을 한 칸씩 앞으로 가져와 저장해주어야 합니다.


⭐ 마무리 정리

컬렉션은

  • 요소(element) 객체들을 저장하는 저장소
  • 고정 크기의 배열을 다룰 때의 어려움을 해소
  • 다양한 객체들을 삽입, 삭제, 검색할 때 관리가 용이

 

배열을 사용하는 것도 요소를 저장하기에 정말 효율적인 방법이지만

저장해야 하는 요소의 개수를 모른다면

컬렉션을 사용하는 것이 훨씬 더 효율적일 것 입니다!!