[꼼꼼한 개발자] 꼼코더
[JAVA] - 3대 컬렉션 List, Set, Map(인터페이스) 간단하고 쉽게 이해하기(컬렉션이란?) 본문
반응형
자바에는 3대 컬렉션 List, Set, Map이 존재한다.
간단하게 짚어보도록하자!
❓ 컬렉션이란?
- 요소(element)라고 불리는 가변 개수의 객체들의 저장소
- 객체들의 컨테이너라고도 불림
- 고정 크기의 배열을 다루는 어려움 해소
- 다양한 객체를 삽입, 삭제 검색 할 수 있음
- 컬렉션은 제네릭 기법으로 구현됨
🚂 List
- 저장 : 배열 형식으로 순차적으로 저장된다.
- 불러오기 : 자동생성된 식별자로 불러온다.
- 식별자 : 배열의 0, 1, 2 와 같은 인덱스 형식으로 자동생성 된다.
- 사용목적 : 주로 일반적인 데이터를 가변길의 배열로 관리할 때 사용한다.
- 특징 : 값이 순차적으로 저장되고, 자동생성된 식별자로 값을 불러온다.
List<Integer> list = new ArrayList<>();
// 값 저장
list.add(1); // 0번째 인덱스에 3이라는 값 저장
list.add(3); // 1번째 인덱스에 3이라는 값 저장
list.add(6); // 2번째 인덱스에 6이라는 값 저장
// 값 꺼내기 > 인덱스(0, 1, 2) 자동생성 식별자
list.get(1); // 2(1)번째 인덱스 값인 '3'
list.get(3); // error > 4(3)번째 인덱스 값은 없음
🏘 Set
- 저장 : 집합 형식으로 비순차적으로 저장된다.
- 불러오기 : iterator, foreach 등을 사용하여 집합에서 값을 불러온다.
- 식별자 : 값과 일치한 식별자가 자동생성 된다.
- 사용목적 : 데이터를 수집시 데이터의 중복을 방지하고 싶을때 사용한다.
- 특징 : 값이 비순차적으로 저장되고, 값(value)의 중복이 불가하다. > 값의 중복은 식별자의 중복이기 때문.
Set<Integer> set = new HashSet<>();
// 값 저장
set.add(1); // '1'이라는 식별자롤 '1'이라는 값 저장
set.add(2); // '2'이라는 식별자롤 '2'이라는 값 저장
set.add(2); // error > 식별자('2') 중복
// 값 꺼내기
// Set은 iterator, foreach 등을 사용
Iterator <Integer>iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println((iterator.next())); // '1'과 '2'출력
}
🗾 Map
- 저장 : Key ↔ Value 의 관계형식으로 저장된다.
- 불러오기 : 직접생성한 식별자(Key)로 불러온다.
- 식별자 : 사용자가 지정한 타입으로 직접생성 한다. (자동생성 x)
- 사용목적 : Key ↔ value로 구분된 재료 형태로 데이터를 사용하고 싶을 때
- 특징 : 직접생성한 식별자(key)로 값(value)을 불러온다. 값(value)의 중복이 가능하다.
💡 추가 설명
- 위에 예제 코드를 자세히 보면 ArrayList<>(), HashSet<>(), HashMap<>()을 볼 수 가 있다.
- List, Set, Map는 인터페이스고 ArrayList<>(), HashSet<>(), HashMap<>()는 구현체이다.
- 다음에는 구현체에 대해서 자세히 알아보자.
'간단하고 쉽게 > JAVA' 카테고리의 다른 글
[JAVA] - 제네릭이란?(Generic) 간단하고 쉽게 이해하기 (제네릭의 장점) (0) | 2022.12.20 |
---|---|
[JAVA] - SDK, JDK 간단하고 쉽게 이해하기 (0) | 2022.12.20 |
[JAVA] - Java SE, Java EE 차이 간단하고 쉽게 이해하기(자바 플렛폼의 종류) (0) | 2022.12.20 |
[JAVA] - Java Beans(자바 빈즈) 간단하고 쉽게 이해하기 (0) | 2022.12.20 |
[JAVA] - DAO, DTO, VO, Entity 간단하고 쉽게 이해하기 (0) | 2022.12.20 |
Comments