개발 문서/Java

컬렉션 프레임워크: List, Set, Map 등

copg 2023. 11. 11. 02:51
728x90
반응형

자바 컬렉션 프레임워크(Collection Framework)는 데이터를 저장, 관리, 처리하는 데 유용한 인터페이스와 클래스들을 제공하는 라이브러리입니다. 주요 인터페이스로는 List, Set, Map 등이 있습니다. 아래에서 각각의 특징과 예제를 살펴보겠습니다.

1. List 인터페이스:

List는 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용합니다. 대표적으로는 ArrayList, LinkedList, Vector 등이 있습니다.

import java.util.List;
import java.util.ArrayList;

public class ListExample {
    public static void main(String[] args) {
        // ArrayList 생성
        List<String> arrayList = new ArrayList<>();

        // 데이터 추가
        arrayList.add("사과");
        arrayList.add("바나나");
        arrayList.add("딸기");

        // 데이터 출력
        for (String fruit : arrayList) {
            System.out.println(fruit);
        }
    }
}

2. Set 인터페이스:

Set은 순서가 없고, 데이터의 중복을 허용하지 않는 데이터의 집합입니다. 대표적으로는 HashSet, LinkedHashSet, TreeSet 등이 있습니다.

import java.util.Set;
import java.util.HashSet;

public class SetExample {
    public static void main(String[] args) {
        // HashSet 생성
        Set<String> hashSet = new HashSet<>();

        // 데이터 추가
        hashSet.add("사과");
        hashSet.add("바나나");
        hashSet.add("딸기");

        // 데이터 출력
        for (String fruit : hashSet) {
            System.out.println(fruit);
        }
    }
}

3. Map 인터페이스:

Map은 키와 값의 쌍으로 이루어진 데이터의 집합으로, 순서는 없습니다. 키는 중복될 수 없지만, 값은 중복될 수 있습니다. 대표적으로는 HashMap, LinkedHashMap, TreeMap 등이 있습니다.

import java.util.Map;
import java.util.HashMap;

public class MapExample {
    public static void main(String[] args) {
        // HashMap 생성
        Map<String, Integer> hashMap = new HashMap<>();

        // 데이터 추가
        hashMap.put("사과", 100);
        hashMap.put("바나나", 150);
        hashMap.put("딸기", 200);

        // 데이터 출력
        for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

컬렉션 프레임워크는 다양한 상황에서 효과적으로 데이터를 다룰 수 있도록 도와주며, 각 인터페이스 및 클래스들은 특정한 상황에 맞추어 선택하여 사용할 수 있습니다. 자바의 컬렉션 프레임워크는 다양한 기능을 제공하므로, 프로그래밍 시에는 필요에 맞게 선택하여 사용하는 것이 중요합니다.