[내일배움캠프] Java 기초문법 Chapter 3. 컬렉션

김재진·2025년 12월 11일

내일배움캠프

목록 보기
16/70

1. 컬렉션(Collection)이란?

  • 자료구조들을 쉽게 사용할 수 있도록 인터페이스와 구현체를 제동하는 집합.
  • 컬렉션을 통해 데이터 저장, 조회. 삭제, 정렬 등 다양한 기능을 구현 가능

1-1. 배결의 한계

  • 배열은 크기가 고정되어 있어 한 번 설정하면 변경할 수 없음.
  • 컬렉션은 길이를 동적으로 변경 가능하다.

2. 컬렉션의 종류와 특징

2-1. List 인터페이스를 구현한 ArrayList

  • 요소의 순서를 유지하고 중복된 값을 저장할 수 있음
  • 대표적인 구현체로는 ArrayList, LinkedList가 있다.
// List 를 구현한 ArrayList
ArrayList<String> names = new ArrayList<>();
// ✅ 추가 > add("값")
names.add("Spartan");      // 1 번째 요소 추가
names.add("Steve");        // 2 번째 요소 추가
names.add("Isac");         // 3 번째 요소 추가

 // ✅ 순서 보장
System.out.println("names = " + names);

// ✅ 중복 데이터 허용
names.add("Spartan");
System.out.println("names = " + names);

// ✅ 조회 > get(인덱스)
System.out.println("1 번째 요소 조회: " + names.get(0)); // 조회 Spartan

// ✅ 데이터 삭제 > remove("값")
names.remove("Steve"); 
System.out.println("names = " + names);

2-2. Set 인터페이스를 구현한 HashSet

  • 순서를 유지하지 않고 중복을 허용하지 않음
  • 대표적인 구현체로 HashSet, TreeSet이 있음
// Set 을 구현한 HashSet
HashSet<String> uniqueNames = new HashSet<>();

// ✅ 추가 > add("값")
uniqueNames.add("Spartan");
uniqueNames.add("Steve");
uniqueNames.add("Isac");

// ⚠️ 순서를 보장 안함
System.out.println("uniqueNames = " + uniqueNames); 
uniqueNames.get(0); // ❌ get 사용 불가

// ⚠️ 중복 불가
uniqueNames.add("Spartan");
System.out.println("uniqueNames = " + uniqueNames); 

// ✅ 제거 > remove("값")
uniqueNames.remove("Spartan");
System.out.println("uniqueNames = " + uniqueNames); 

2-3. Map 인터페이스를 구현한 HashMap

  • 키(key) - 값(value) 구조로 데이터를 저장함
  • 키는 중복 불가하나, 값은 중복 가능
  • 순서를 보장하지 않는다.
  • 대표적인 구현체로 HashMap, TreeMap이 있다.
// Map 을 구현한 HashMap
HashMap<String, Integer> memberMap = new HashMap<>();

// ✅ 추가 > put("키", 값)
memberMap.put("Spartan", 15);
memberMap.put("Steve", 15); // ✅ 값은 중복 가능
memberMap.put("Isac", 1);
memberMap.put("John", 2);
memberMap.put("Alice", 3);

// ⚠️ 순서 보장 안함 
System.out.println("memberMap = " + memberMap);

// ⚠️ 키 중복 불가: 값 덮어쓰기 발생
memberMap.put("Alice", 5);
System.out.println("memberMap = " + memberMap);

// ✅ 조회: 15 > get("키")
System.out.println(memberMap.get("Steve"));

// ✅ 삭제 가능 > remove("키")
memberMap.remove("Spartan"); 
System.out.println("memberMap = " + memberMap);

// ✅ 키 확인 > keySet()
Set<String> keys = memberMap.keySet();
System.out.println("keys = " + keys);

// ✅ 값 확인 > values()
Collection<Integer> values = memberMap.values();
System.out.println("values = " + values);
profile
개발공부 처음해보는 사람

0개의 댓글