Coding Planet

Hash Map์ด๋ž€? ๋ณธ๋ฌธ

๐Ÿ’ป Java Study/Java ์ด๋ก  ์ •๋ฆฌ

Hash Map์ด๋ž€?

jhj.sharon 2023. 5. 4. 21:12
๋ฐ˜์‘ํ˜•

 

 

 

1. HashSet์ด๋ž€?

  • HashSet์€ Java ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•˜๋‚˜๋กœ, ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. HashSet์€ ๋‚ด๋ถ€์ ์œผ๋กœ HashMap ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์‚ญ์ œ, ์กฐํšŒ ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • HashSet์€ ๋ฐ์ดํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, HashSet์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•œ ์ˆœ์„œ์™€ HashSet์˜ ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ ์ €์žฅ ์ˆœ์„œ๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋กœ HashSet์€ ๋ฐ์ดํ„ฐ ์ˆœ์„œ๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • HashSet์€ Set ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋ฏ€๋กœ, Set ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ •์˜๋œ ๋ชจ๋“  ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, HashSet์€ null ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, HashSet์€ ๋™๊ธฐํ™”๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋™๊ธฐํ™” ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

 

2. HashSet ์‚ฌ์šฉ ์ฝ”๋“œ

  • ์•„๋ž˜ ์ฝ”๋“œ๋Š” ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ์ˆœ์„œ๋ฅผ ์ง€์ผœ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•œ ๊ฒƒ์ด๋‹ค.
  • HashSet์€ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜์ง€๋งŒ ์ˆœ์„œ๋Š” ๋ณด์žฅ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™œ์šฉํ•˜์—ฌ HashSet์œผ๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•œ ๋’ค StringBuilder์— ๋ฐ˜๋ณต๋ฌธ ๋‚ด์—์„œ ์ถ”๊ฐ€ํ•˜์—ฌ ์ˆœ์„œ๋„ ์œ ์ง€ํ–ˆ๋‹ค.
import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;


public class RemoveChar {
	public String solution(String str) {
		
		StringBuilder sb = new StringBuilder();
		Set<Character> set = new HashSet<>();
		
		for (int i = 0; i < str.length(); i++) {

			char c = str.charAt(i);
		    
		    if (!set.contains(c)) {
	            sb.append(c);
	            set.add(c);
	        }
		}
		

		
		 return sb.toString();
	}

	public static void main(String[] args) {

		RemoveChar T = new RemoveChar();
		
		Scanner kb = new Scanner(System.in);
		String str = kb.nextLine();
		
			System.out.println(T.solution(str));
		
	}

}
๋ฐ˜์‘ํ˜•
Comments