Java 자료형 정리 – 배열, List, Set, Map

야아니·2026년 2월 5일

1️⃣ 배열(Array) – 가장 기본, 가장 단순한 구조

✅ 특징

  • 크기 고정
  • 인덱스로 접근 (O(1))
  • 중복 허용
  • 순서 유지
int[] arr = new int[5];
String[] words = new String[3];

언제 쓰나?

  • 데이터 개수가 처음부터 명확할 때
  • 성능이 중요한 경우

단점

  • 크기 변경 불가
  • 중복 제거, 정렬 로직을 직접 구현해야 함

👉 코테에서는 입력 개수가 유동적이면 잘 안 씀


2️⃣ List – 순서가 있는 자료들의 집합

대표 구현체

  • ArrayList
  • LinkedList
List<String> list = new ArrayList<>();

✅ 특징

  • 입력 순서 유지
  • 중복 허용
  • 크기 자동 조절
  • 정렬 가능
Collections.sort(list);

언제 쓰나?

  • 입력 순서가 중요할 때
  • 정렬이 필요한 문제

👉 코테에서 가장 많이 쓰는 자료형


3️⃣ Set – 중복을 허용하지 않는 집합

대표 구현체

타입순서 유지정렬특징
HashSet가장 빠름
LinkedHashSet입력 순서 유지
TreeSet자동 정렬
Set<String> set = new HashSet<>();

✅ 특징

  • 중복 자동 제거
  • 인덱스 없음

언제 쓰나?

  • 중복 제거가 목적일 때
  • "같은 값이 있나?"만 중요할 때

4️⃣ Map – Key와 Value의 관계 표현

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

✅ 특징

  • Key는 중복 ❌
  • Value는 중복 ⭕
  • 순서 보장 X (기본)

대표 구현체

타입순서정렬특징
HashMap기본 선택
LinkedHashMap입력 순서 유지
TreeMapKey 기준 정렬

언제 쓰나?

  • 빈도수 계산
  • 이름 → 점수 같은 매핑

👉 "카운팅 문제"의 거의 정답 자료형


5️⃣ 정렬 관점에서 한 번에 정리

자료형정렬 방법
ArrayArrays.sort()
ListCollections.sort()
SetList로 변환 후 정렬
MapKey/Entry를 List로 변환

6️⃣ for-each 문과 자료형의 관계

for (String s : list) {
    System.out.println(s);
}
  • List, Set 모두 가능
  • 내부적으로 Iterator 사용
  • 값을 읽는 용도에 적합

❌ 반복 중 컬렉션 구조 변경 불가


7️⃣ 코테에서 빠르게 선택하는 기준

  • 중복 제거 → Set
  • 정렬 필요 → List
  • 순서 유지 출력 → List
  • Key-Value 관계 → Map
  • 성능 최우선 + 고정 크기 → Array
profile
세계평화를 원하는 사람입니다.

0개의 댓글