๐Ÿ’ก (Java) HashSet ์ •๋ฆฌ

๋ฐ•ํ˜„์•„ยท2024๋…„ 11์›” 5์ผ
0

๊ธฐ์ดˆ

๋ชฉ๋ก ๋ณด๊ธฐ
27/31

๐Ÿ’ก HashSet ์ •๋ฆฌ

HashSet์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ๊ด€๋ฆฌํ•  ๋•Œ ์œ ์šฉํ•˜๋‹ค.
HashSet์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

  • ์ค‘๋ณต๋œ ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ์š”์†Œ๋Š” ํŠน์ • ์ˆœ์„œ ์—†์ด ์ €์žฅ๋œ๋‹ค.
  • ํšจ์œจ์ ์ธ ๊ฒ€์ƒ‰, ์ถ”๊ฐ€, ์‚ญ์ œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.

1. ๊ธฐ๋ณธ HashSet ์‚ฌ์šฉ ์˜ˆ์ œ

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
    
        // HashSet ์„ ์–ธ
        HashSet<String> fruits = new HashSet<>();

        // ์š”์†Œ ์ถ”๊ฐ€ .add()
        fruits.add("apple");
        fruits.add("banana");
        fruits.add("orange");
        fruits.add("apple");  // ์ค‘๋ณต๋œ ๊ฐ’์€ ์ถ”๊ฐ€๋˜์ง€ ์•Š์Œ

        // HashSet ์ถœ๋ ฅ
        System.out.println(fruits); // ์ถœ๋ ฅ ์˜ˆ์‹œ: [banana, orange, apple]

        // ํŠน์ • ์š”์†Œ ํฌํ•จ ์—ฌ๋ถ€ ํ™•์ธ .contains()
        System.out.println("Contains apple? " + fruits.contains("apple")); // true
        System.out.println("Contains mango? " + fruits.contains("mango")); // false

        // ์š”์†Œ ์ œ๊ฑฐ .remove
        fruits.remove("banana");
        System.out.println("After removing banana: " + fruits); // [orange, apple]

        // ์ „์ฒด ์š”์†Œ ๊ฐœ์ˆ˜ .size()
        System.out.println("Size of HashSet: " + fruits.size()); // 2

        // ๋ชจ๋“  ์š”์†Œ ์ œ๊ฑฐ .clear()
        fruits.clear();
        System.out.println("Is HashSet empty? " + fruits.isEmpty()); // true
    }
}

2. HashSet์„ ์‚ฌ์šฉํ•ด ์ค‘๋ณต ์ œ๊ฑฐ ์˜ˆ์ œ

import java.util.HashSet;
import java.util.Arrays;

public class RemoveDuplicatesExample {
    public static void main(String[] args) {
    
        // ๋ฐฐ์—ด์— ์ค‘๋ณต๋œ ์š”์†Œ๋“ค
        Integer[] numbers = {1, 2, 3, 1, 2, 4, 5, 3};

        // HashSet์— ๋ฐฐ์—ด์„ ์ถ”๊ฐ€ํ•ด ์ค‘๋ณต ์ œ๊ฑฐ
        HashSet<Integer> uniqueNumbers = new HashSet<>(Arrays.asList(numbers));

        // HashSet ์ถœ๋ ฅ (์ค‘๋ณต์ด ์ œ๊ฑฐ๋œ ์ƒํƒœ)
        System.out.println(uniqueNumbers); // ์ถœ๋ ฅ ์˜ˆ์‹œ: [1, 2, 3, 4, 5]
    }
}

3. HashSet์˜ ๋ฐ˜๋ณต๋ฌธ ์‚ฌ์šฉ ์˜ˆ์ œ

import java.util.HashSet;

public class IterateHashSetExample {
    public static void main(String[] args) {
        HashSet<String> cities = new HashSet<>();
        cities.add("Seoul");
        cities.add("New York");
        cities.add("Tokyo");

        // ํ–ฅ์ƒ๋œ for ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ HashSet ํƒ์ƒ‰
        for (String city : cities) {
            System.out.println(city);
        }
    }
}

0๊ฐœ์˜ ๋Œ“๊ธ€