반응형
 

컬렉션(Collection): 개념과 활용

컬렉션(Collection)은 데이터 그룹을 저장하고 관리하는 데 사용되는 자바 프레임워크입니다. 자바 컬렉션은 데이터 구조를 표준화하여 효율적인 데이터 처리와 관리를 가능하게 합니다. 이 글에서는 컬렉션의 개념, 종류, 자바에서 사용하는 방법, 그리고 다양한 활용 예시를 소개합니다.


컬렉션(Collection)이란?

**컬렉션(Collection)**은 객체 그룹을 저장하고 조작하기 위한 컨테이너입니다. 다양한 데이터 구조를 지원하며, 자바에서 데이터 그룹을 관리하기 위한 표준화된 API를 제공합니다.

컬렉션의 특징:
  1. 유연성: 다양한 데이터 구조를 지원.
  2. 표준화: 공통된 인터페이스를 통해 일관된 작업 제공.
  3. 다양한 구현체: 용도에 맞는 데이터 구조 선택 가능.
  4. 제네릭: 타입 안정성을 보장.

컬렉션의 종류

컬렉션은 크게 인터페이스구현체로 나뉩니다. 주요 인터페이스와 그 하위 구현체는 다음과 같습니다:

  1. List:
    • 순서가 있는 데이터 그룹.
    • 중복 허용.
    • 구현체: ArrayList, LinkedList, Vector.
  2. Set:
    • 중복을 허용하지 않는 데이터 그룹.
    • 순서 보장 안 함.
    • 구현체: HashSet, LinkedHashSet, TreeSet.
  3. Queue:
    • FIFO(First-In-First-Out) 방식으로 처리.
    • 구현체: PriorityQueue, LinkedList (Queue로 사용).
  4. Map:
    • 키-값 쌍으로 데이터를 저장.
    • 키는 중복 불가, 값은 중복 허용.
    • 구현체: HashMap, LinkedHashMap, TreeMap.

자바에서 컬렉션 다루기

예제 1: List 사용하기
import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");
        names.add("Alice"); // 중복 허용

    	for (String name : names) {
	    	System.out.println(name);
    	}
    }
}
출력 결과:
 
Alice
Bob
Charlie
Alice
예제 2: Set 사용하기
import java.util.HashSet;
import java.util.Set;

public class SetExample {
    public static void main(String[] args) {
        Set<String> names = new HashSet<>();
        names.add("Alice");
        names.add("Bob");
        names.add("Charlie");
        names.add("Alice"); // 중복 제거됨

        for (String name : names) {
	        System.out.println(name);
        }
    }
}
출력 결과 (순서 불확정):
 
Alice
Bob
Charlie
예제 3: Map 사용하기
import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<Integer, String> userMap = new HashMap<>();
        userMap.put(1, "Alice");
        userMap.put(2, "Bob");
        userMap.put(3, "Charlie");

        for (Map.Entry<Integer, String> entry : userMap.entrySet()) {
	        System.out.println("ID: " + entry.getKey() + ", Name: " + entry.getValue());
        }
    }
}
출력 결과:
 
ID: 1, Name: Alice
ID: 2, Name: Bob
ID: 3, Name: Charlie

컬렉션의 주요 메서드

  1. List:
    • add(E e): 요소 추가.
    • get(int index): 특정 위치의 요소 가져오기.
    • remove(int index): 특정 위치의 요소 제거.
  2. Set:
    • add(E e): 요소 추가 (중복인 경우 추가되지 않음).
    • contains(Object o): 요소 포함 여부 확인.
  3. Map:
    • put(K key, V value): 키-값 추가.
    • get(Object key): 특정 키에 해당하는 값 반환.
    • remove(Object key): 특정 키 삭제.

다양한 활용 예시

  1. 학생 성적 관리:
    • List를 사용해 학생 명단 관리.
    • Map을 사용해 학생별 점수 저장.
  2. 중복 제거:
    • Set을 사용해 데이터 중복 제거.
  3. 우선순위 처리:
    • PriorityQueue를 사용해 작업을 우선순위에 따라 처리.
  4. 정렬된 데이터 관리:
    • TreeSet과 TreeMap을 사용해 정렬된 데이터 저장.

마치며

자바 컬렉션 프레임워크는 데이터 구조를 효과적으로 관리하고 처리할 수 있는 강력한 도구입니다. 컬렉션의 다양한 구현체와 메서드를 익히고 적절히 활용하여 효율적이고 유지보수 가능한 코드를 작성해 보세요!

 
반응형

+ Recent posts