[JAVA] 자료구조_Set[2]

이민아·2023년 8월 18일
0

Java

목록 보기
3/4
  1. Set 이란?
    : 중복되지 않은 값을 저장하는 자료구조
    : 집합연산이나 중복을 허용하지 않는 데이터 저장에 사용
    : HashSet, LinkedHashSet, TreeSet, EnumSet 등
  1. Set 특징
    : 중복된 값 저장 X - 같은 값을 저장하더라도 한번만 저장됨.
    : 검색 및 삽입 속도 빠름.
    : Null 허용

1. hashSet

: Java의 컬렉션 프레임워크에서 제공되는 클래스 중 하나
: 중복 값 허용 X
: 순서 보장 X

* HashSet 사용 예시

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

public class Main {
    public static void main(String[] args) {
        Set<String> uniqueNames = new HashSet<>();
        
        uniqueNames.add("Alice");
        uniqueNames.add("Bob");
        uniqueNames.add("Alice"); // 중복된 값이므로 저장되지 않음
        
        boolean containsAlice = uniqueNames.contains("Alice"); // true
        boolean containsCharlie = uniqueNames.contains("Charlie"); // false
        
        System.out.println("Contains Alice: " + containsAlice);
        System.out.println("Contains Charlie: " + containsCharlie);
    }
}

2. LinkedHashSet

: 해시 테이블과 연결 리스트를 결합한 Set 인터페이스의 구현체
: 중복 값 허용 X
: 순서 보장

* LinkedHashSet 사용 예시

import java.util.LinkedHashSet;
import java.util.Set;

public class Main {
    public static void main(String[] args) {
        Set<String> orderedNames = new LinkedHashSet<>();
        
        orderedNames.add("Alice");
        orderedNames.add("Bob");
        orderedNames.add("Charlie");
        
        boolean containsAlice = orderedNames.contains("Alice"); // true
        boolean containsDavid = orderedNames.contains("David"); // false
        
        for (String name : orderedNames) {
            System.out.println(name);
        }
    }
}
profile
IT업계 종사자

0개의 댓글