본문 바로가기

IT관련/자바

자바(JAVA) - 컬렉션과 제네릭

자바에서 컬렉션은 제네릭이라는 기법으로 구현되어 있다.

그러므로 제네릭에 대해서도 함께 알아두는 것이 바람직하다.

 

컬렉션 - 지정 크기의 배열이 가지는 단점을 극복, 객체들의 삽입, 삭제, 검색 등의 기능을 갖춘 컨테이너이다

 

제네릭 - 모든 종류의 타입을 사용하고 이용하여 선언하는 기법

            (C++의 템플릿과 동일하고, 틀로 일반화시키는 도구라 생각하자)

 

출처 - http://www.gnujava.com/

제네릭의 타입 매개 변수

  • E : Element를 의미 (요소 표시할 때 사용)
  • T : Type을 의미
  • V : Value를 의미
  • K : Key를 의미

 

아래는 제네릭 컬렉션 중 자주 사용되는 두 가지 컬렉션

 

Vector<E>

  • 배열을 가변 크기로 다루며 객체의 삽입, 삭제, 이동이 쉽게 구성되어있는 클래스이다.

출처 - https://apphappy.tistory.com/79

ArrayList<E>

  • 가변 크기의 배열을 구현한 컬렉션, Vector와 다른 점은 스레드 간에 동기화를 하지 않음
  • 그러므로 요소 삽입 또는 삭제 시 충돌 발생 소지가 있으므로 멀티스레드 동기화를 사용자가 직접 구현해야 함

출처 - https://apphappy.tistory.com/81?category=592532

위의 내용은 개념 정리만 해둔 것으로 사용방법은 다음 정리 내용을 참고 바란다.