๐Ÿ’ก (Java) HashMap๊ณผ HashSet ๋น„๊ต

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

๊ธฐ์ดˆ

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

๐Ÿ’ก HashMap๊ณผ HashSet ๋น„๊ต

1. ์ €์žฅ ๋ฐฉ์‹

  • HashSet : ๊ฐ’(value)๋งŒ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.
  • HashMap : ํ‚ค(key)-๊ฐ’(value) ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ‚ค๋Š” ์œ ์ผํ•ด์•ผ ํ•˜๋ฉฐ, ๋™์ผํ•œ ํ‚ค๋กœ ์—ฌ๋Ÿฌ ๊ฐ’์ด ์ €์žฅ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

2. ๊ตฌ์กฐ

  • HashSet : ๋‚ด๋ถ€์ ์œผ๋กœ HashMap์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์‹ค์ƒ HashSet์€ HashMap์˜ ํ‚ค๋กœ ๊ฐ’์„ ์ €์žฅํ•˜๋ฉฐ, ๊ฐ’์€ ๋ชจ๋‘ ๊ฐ™์€ ๊ธฐ๋ณธ๊ฐ’์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.
  • HashMap : ํ‚ค์™€ ๊ฐ’ ๋ชจ๋‘๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋…๋ฆฝ์ ์ธ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

3. ์‚ฌ์šฉ ๋ชฉ์ 

  • HashSet : ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๋น ๋ฅธ ์กฐํšŒ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ ์ผํ•œ ๊ฐ’๋“ค๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ง‘ํ•ฉ์„ ๊ด€๋ฆฌํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • HashMap : ํŠน์ • ํ‚ค๋ฅผ ํ†ตํ•ด ๊ฐ’์„ ํšจ์œจ์ ์œผ๋กœ ๊ฒ€์ƒ‰, ์‚ฝ์ž…, ์‚ญ์ œํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•™์ƒ ID๋กœ ํ•™์ƒ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

4. ์˜ˆ์ œ ์ฝ”๋“œ

- HashSet ์˜ˆ์ œ

import java.util.HashSet;

public class HashSetExample {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<>();
        set.add("apple");
        set.add("banana");
        set.add("apple"); // ์ค‘๋ณต ๊ฐ’, ์ถ”๊ฐ€๋˜์ง€ ์•Š์Œ
        
        System.out.println(set); // ์ถœ๋ ฅ: [apple, banana]
    }
}

- HashMap ์˜ˆ์ œ

import java.util.HashMap;

public class HashMapExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("apple", 3); // ๋™์ผ ํ‚ค, ๊ฐ’์ด ๋ฎ์–ด์“ฐ๊ธฐ๋จ
        
        System.out.println(map); // ์ถœ๋ ฅ: {banana=2, apple=3}
    }
}

5. ๊ธฐ๋Šฅ ์š”์•ฝ

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