반응형

Collection 이란?

Collection 객체는 여러 원소들을 담을 수 있는 자료구조를 뜻한다

배열이 가장 기본적인 자료구조이며, DTO 또한 자료를 담는 하나의 방식이라고 볼 수 있다.

 

 

자바에서의 자료구조 유형은 다음과 같다.
- 순서가 있는 목록인 List형
- 순서가 중요하지 않은 목록인 Set형
- 먼저 들어온 것이 먼저 나가는 Queue형
- KEY-VALUE의 형태로 저장되는 Map형

배열과의 차이점은 정적 메모리 할당이 아닌 동적 메모리 할당을 하게 된다.
즉, new int[4]을 하면 4개 공간밖에 못쓰고 미리 선언을 통해 4개의 공간을 만들어야 하지만, collection은 공간이 계속 필요한 만큼 추가될 수 있다.

 

 

 

 

Collection 인터페이스에 선언된 주요 메서드

 

위의 그림을 보면 알 수 있듯이, 컬렉션은 결국 인터페이스이고 아래에서 구현부들이 받아 구현하고 있음을 알 수 있다.

 

 

List 인터페이스

List 인터페이스는 Collection의 다른 인터페이스들과 가장 큰 차이는 배열처럼 순서가 있다는 것이다.

 

위의 그림에서 ArrayList, LinkedList, Vector, Stack가 순서 있는 Collection으로 가장 많이 사용된다.

 

이때 ArrayList와 Vector 클래스는 거의 동일하지만,  

ArrayList는 Thread safe하지 않고, Vector는 Thread safe하다. 

(Thread safe하지 않다는 것은 객체에 여러 명이 달려들어 값을 변경하려고 하면 문제가 발생할 수 있다는 것)

 

Map 인터페이스

Map은 키(Key)와 값(value)으로 이루어져 있다. 

* Map의 주요 특징

- 모든 데이터는 키와 값이 존재한다.
- 키가 없이 값만 저장할 수는 없다.
- 값이 없이 키만 저장할 수도 없다.
- 키는 해당 Map에서 고유해야만 한다.
- 값은 Map에서 중복되어도 전혀 상관 없다.
- 데이터 추가 순서는 중요하지 않다(데이터를 저장한 순서대로 결과가 출력되지 않는다).

 

 

1. HashMap

대부분 HashMap 객체를 생성할 때에는 매개 변수가 없는 생성자를 사용한다. 하지만 HashMap에 담을 데이터의 개수가 많은 경우에는 초기 크기를 지정해주는 것을 권장한다.

HashMap<String,String> map=new HashMap<String,String>();

 


2. TreeMap


TreeMap 클래스는 키와 값을 저장하는 동시에 키를 정렬한다. 정렬되는 순서는 숫자 > 알파벳 대문자 > 알파벳 소문자 > 한글 순이다. 따라서, 정렬을 해야 할 필요가 있다면 HashMap 보다는 TreeMap을 사용하는 것이 더 유리하다.

 

TreeMap<String, String> treeMap = new TreeMap<String, String>();

 

 

 

출처 : https://tenlie10.tistory.com/10

 

[Java | 자바] Collection이란?(1) - 개요

* 본 내용은 <자바의 신>을 참고하여 작성하였습니다. Collection(컬렉션) 자바에서 '목록성 데이터를 처리하는 자료구조'를 통칭한다. 자료구조(Data Structure)는 어떤 정보를 담는 것을 의미하여, 하나의 데이..

tenlie10.tistory.com

 

반응형