Paradox Simulation

728x90
반응형

안녕하세요, 이번에는 자바의 컬렉션 프레임워크 중 Set 인터페이스와 Map 인터페이스에 대해 자세히 알아보도록 하겠습니다.

 

반응형

Set 인터페이스

Set 인터페이스는 중복되지 않는 데이터를 다루기 위한 인터페이스입니다.
Set은 순서가 없는 데이터의 모음을 다루며, 중복된 데이터를 저장하지 않습니다.
Set 인터페이스를 구현하는 대표적인 클래스로는 HashSet, TreeSet 등이 있습니다.

 

HashSet 클래스

HashSet 클래스는 내부적으로 해시 테이블을 사용하여 데이터를 관리하는 Set 인터페이스의 구현 클래스입니다.
HashSet은 데이터의 삽입, 삭제, 검색에 빠르지만, 데이터의 순서가 보장되지 않습니다.
HashSet 클래스는 다음과 같은 생성자를 제공합니다.

public HashSet() // 초기 용량(capacity) 16, 로드 팩터(load factor) 0.75로 설정
public HashSet(int initialCapacity) // 초기 용량을 지정할 수 있는 생성자
public HashSet(int initialCapacity, float loadFactor) // 초기 용량과 로드 팩터를 지정할 수 있는 생성자
public HashSet(Collection<? extends E> c) // 지정된 Collection에 포함된 모든 요소를 포함하는 HashSet을 생성하는 생성자

 

HashSet 예시

다음은 HashSet 클래스의 예시 코드입니다.
HashSet 객체를 생성하고, add() 메서드를 사용하여 데이터를 추가하고, contains() 메서드를 사용하여 데이터가 있는지 확인하는 예제입니다.

 

import java.util.HashSet;

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

        // 데이터 추가
        hashSet.add("apple");
        hashSet.add("banana");
        hashSet.add("orange");

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

        // 데이터 검색
        boolean result = hashSet.contains("banana");
        System.out.println(result);
    }
}

위 코드에서는 HashSet 클래스를 사용하여 문자열 데이터를 관리하는 예제를 보여줍니다.
add() 메서드를 사용하여 데이터를 추가하고, contains() 메서드를 사용하여 데이터가 있는지 확인하는 방법을 보여줍니다.
또한, for-each 구문을 사용하여 HashSet에 저장된 모든 데이터를 출력하는 방법을 보여줍니다.

 

Map 인터페이스

Map 인터페이스는 키(Key)와 값(Value)의 쌍으로 이루어진 데이터를 다루기 위한 인터페이스입니다.
Map은 키(Key)를 중복되지 않게 저장하며, 값을 검색할 때는 키를 사용합니다.
Map 인터페이스를 구현하는 대표적인 클래스로는 HashMap, TreeMap 등이 있습니다.

 

HashMap 클래스

HashMap 클래스는 내부적으로 해시 테이블을 사용하여 데이터를 관리하는 Map 인터페이스의 구현클래스입니다.
HashMap은 데이터의 삽입, 삭제, 검색에 빠르지만, 데이터의 순서가 보장되지 않습니다.
HashMap 클래스는 다음과 같은 생성자를 제공합니다.

public HashMap() // 초기 용량(capacity) 16, 로드 팩터(load factor) 0.75로 설정
public HashMap(int initialCapacity) // 초기 용량을 지정할 수 있는 생성자
public HashMap(int initialCapacity, float loadFactor) // 초기 용량과 로드 팩터를 지정할 수 있는 생성자
public HashMap(Map<? extends K, ? extends V> m) // 지정된 Map의 모든 매핑을 포함하는 HashMap을 생성하는 생성자

 

HashMap 예시

다음은 HashMap 클래스의 예시 코드입니다.
HashMap 객체를 생성하고, put() 메서드를 사용하여 데이터를 추가하고, get() 메서드를 사용하여 데이터를 가져오는 예제입니다.

import java.util.HashMap;

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

        // 데이터 추가
        hashMap.put("apple", 1000);
        hashMap.put("banana", 2000);
        hashMap.put("orange", 1500);

        // 데이터 출력
        for (String key : hashMap.keySet()) {
            System.out.println(key + " : " + hashMap.get(key));
        }

        // 데이터 가져오기
        int value = hashMap.get("banana");
        System.out.println(value);
    }
}

위 코드에서는 HashMap 클래스를 사용하여 문자열과 정수 데이터를 관리하는 예제를 보여줍니다.
put() 메서드를 사용하여 데이터를 추가하고, get() 메서드를 사용하여 데이터를 가져오는 방법을 보여줍니다.

또한, keySet() 메서드와 for-each 구문을 사용하여 HashMap에 저장된 모든 데이터를 출력하는 방법을 보여줍니다.

 

마무리

이번 글에서는 자바의 컬렉션 프레임워크 중 Set 인터페이스와 Map 인터페이스에 대해 알아보았습니다.
Set 인터페이스는 중복되지 않는 데이터를 다루기 위한 인터페이스로, HashSet, TreeSet 등의 클래스로 구현될 수 있습니다.
Map 인터페이스는 키와 값의 쌍으로 이루어진 데이터를 다루기 위한 인터페이스로, HashMap, TreeMap 등의 클래스로 구현될 수 있습니다.
각 클래스마다 특징이 다르기 때문에, 적절한 클래스를 선택하여 사용할 필요가 있습니다.

728x90
반응형
반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band
250x250