JAVA 컬렉션

김개발세발바닥·2024년 3월 23일

JAVA

목록 보기
2/12

자료 구조.

자료 구조는 어떤 정보를 담는 것을 의미하는데, 하나의 데이터가 아닌 여러 데이터를 담을 때 사용한다.
예를들어 데이터의 크기가 얼마나 되는지 모르는 여러 개의 String 객체들을 하나의 객체에 담는다고 생각하면 어떻게 해야할까?

배열을 사용한다면 int의 최대값에 해당하는 크기를 갖는 배열을 만들어야 하고 배열의 크기가 부족하면 필요한 개수만큼 더 큰 배열을 하나 더 만들어서 거기다 복사해야한다.
하지만 이 방법은 메모리 낭비가 엄청나게 발생하기 때문에 비효율적이다.
그렇다면 다른 자료구조를 사용하여 더 효율적으로 방법을 찾아야 한다.

자바에서 데이터를 담는 자료 구조는 이런식으로 분류할 수 있다.

  • 순서가 있는 List형
  • 순서가 중요하지 않은 Set형
  • 먼저 들어온 것이 먼저 나가는 Queue형
  • 키-값 으로 저장되는 Map형

컬렉션.

자바에서는 List, Set, Queue는 Collection이라는 인터페이스를 구현하고 있다.
여러 개의 객체를 하나의 객체에 담아 처리할 때 공통적으로 사용되는 여러 메소드들을 선언해 놓았다.
Map만이 Collection과 관련 없는 별도의 인터페이스로 선언되어 있다.

Collection 인터페이스는 Iterable이라는 인터페이스를 확장하고 있다.

public interface Collection extends Iterable
참고로 Iterator라는 인터페이스에는 추가 데이터가 있는지 확인하는 hasNext() 메소드, 현재 위치를 다음 요소로 넘기고 그 값을 리턴해주는 next()라는 메소드, 데이터를 삭제하는 remove() 메소드가 있다.

Collection 인터페이스가 Iterable 인터페이스를 확장했다는 의미는, Iterator 인터페이스를 사용하여 데이터를 순차적으로 가져올 수 있다는 의미다.

자바 개발에 있어 컬렉션 개념은 아주 중요하고 실무에서 매우 많이 쓰이고 있다.
기본기를 더 단단히 다져야 할 것 같다.

0개의 댓글