관리 메뉴

ballqs 님의 블로그

[Java] Set 사용법 본문

코딩 공부/Java

[Java] Set 사용법

ballqs 2024. 7. 18. 18:40

Set 이란?

Set은 중복 요소를 허용하지 않는 Java Collection Framework의 인터페이스입니다.

 

Set 특징

  1. 중복 요소를 허용하지 않습니다.
  2. 순서가 없습니다.
  3. 엑세스가 빠릅니다.
  4. indexing이 없습니다.
  5. primitive type가 없습니다.

 

Set 사용법

import 작성

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

 

사용법

Set<String> set= new HashSet<>();

 

값 추가

Set<String> set= new HashSet<>();
set.add("a");
set.add("a");
System.out.println(set);  // "a"

위 예제에서 “a”를 두번 추가를 해보고 출력하면 중복이 제거된 상태에서 출력되는 것을 볼 수 있다.

 

값 제거

set.remove("a");
System.out.println(set);  // []

위 예제에서 앞서 추가 예제에서 넣은 “a”를 삭제처리 해서 빈값으로 나온다.

 

출력 방법

Set<String> set= new HashSet<>();
set.add("a");
set.add("b");
for (String s: set) {
	System.out.println(set);
}
// 출력 결과
// "a"
// "b"

위 예제를 통해 set에 담겨 있는 데이터를 출력할 수 있다.

※단! 출력은 순서대로 되지 않을 수 있다.

 

Map에 활용 예제

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

// Map에 set 사용 방법
Map<String , Set<String>> info = new HashMap<>();
// 값 추가 방법
info.put("apple" , new HashSet<String>());

// 값 불러와서 활용 하는 방법
Set<String> set = info.get("apple");

// 값 불러와서 출력 해보기
System.out.println(set); // 출력 결과 : []
set.add("a");
set.add("a");

// Map에 데이터 갱신하기
info.replace("apple" , set);

// 다시 꺼내서 출력해보기
Set<String> set2 = info.get("test");
System.out.println(set2);  // 출력 결과 : "a"