JAVA/java ๊ณต๋ถ€

[JAVA] ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ : Map (์ˆœ์„œX, key์ค‘๋ณตX/Value์ค‘๋ณตO)

congs 2023. 3. 26. 13:35

๐Ÿ“Œ Map

  • ๊ฐ’์„ ๋‘๊ฐœ ์ €์žฅ, key / value ์Œ์œผ๋กœ ์ €์žฅ
  • key๋Š” ์ค‘๋ณต์ด ๋ถˆ๊ฐ€
  • value ๋Š” ์ค‘๋ณต๊ฐ€๋Šฅ
  • key๊ฐ€ ์ค‘๋ณต๋˜๋ฉด ๋ฎ์–ด์“ฐ๊ธฐ๊ฐ€ ๋จ
    • ์•„์ด๋””/ ํŒจ์Šค์›Œ๋“œ์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ์ž๋ฃŒ๋กœ ์ €์žฅํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์— ์‚ฌ์šฉ

โœ” entrySet() :

๋Œ€๊ด„ํ˜ธ๋กœ map์„ ๋ณด์—ฌ์คŒ System.out.println(map.entrySet());

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

public class Map01 {

	public static void main(String[] args) {
		/* Map
		 * - ๊ฐ’์„ 2๊ฐœ ์ €์žฅ  key/ value ๊ฐ’์œผ๋กœ ์ €์žฅ
		 * - key๋Š” ์ค‘๋ณต๋ถˆ๊ฐ€, value๋Š” ์ค‘๋ณต๊ฐ€๋Šฅ
		 * - HashMap์„ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ
		 * 
		 * HashMap<String, Integer> map = new HashMap<String, Interger>();
		 * Map์šด ๊ฐ’์ด 2๊ฐœ์—ฌ์„œ Iterator๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
		 * Map = Set์œผ๋กœ ๋ณ€๊ฒฝ ํ›„ ์ถœ๋ ฅ
		 * 
		 * 
		 *<์ถ”๊ฐ€๋ฐฉ๋ฒ•>
		 * list, set=> .add();
		 * map=> .put();
		 * 
		 * <์ถ”์ถœ๋ฐฉ๋ฒ•>
		 * getKey / getValue
		 * 
		 * */
		HashMap<String, Integer> map = new HashMap<>();
		map.put("ํ–„๋ฒ„๊ฑฐ", 7000);
		map.put("ํ”ผ์ž", 15000);
		map.put("์Œ๋ฃŒ", 2000);
		map.put("๊ณผ์ž", 2000);
		map.put("์‚ฌํƒ•", 500);
		map.put("์‚ฌํƒ•", 700);
		
		System.out.println(map); //์ˆœ์„œx, key๊ฐ€ ๊ฐ™์œผ๋ฉด ๋จผ์ €์žˆ๋˜ ๊ฐ’ ์‚ฌ๋ผ์ง (value๋Š” ์ƒ๊ด€x)
		System.out.println(map.keySet());//key๊ฐ’
		System.out.println(map.values());//value ๊ฐ’
		
		//key = ํ–„๋ฒ„๊ฑฐ์ธ ๊ฐ’ ์ถœ๋ ฅ (key๊ฐ’์„ index๋ผ๊ณ  ์ƒ๊ฐํ•˜์…ˆ!)
		System.out.println(map.get("ํ–„๋ฒ„๊ฑฐ"));
		
		//์š”์†Œ ์ถœ๋ ฅ(key๊ธฐ์ค€) - key๋ฅผ ๊ฐ€์ง€๊ณ  value์— ์ ‘๊ทผ
		System.out.println("=====Iterator=====");
		Iterator<String> it = map.keySet().iterator();
		while(it.hasNext()) {
			String key = it.next();
			System.out.println(key+ ": " + map.get(key));
		}
		
		System.out.println("=====ํ–ฅ์ƒ๋œ for๋ฌธ=====");
		for(String tmp : map.keySet()) {
			System.out.println(tmp+ ": "+ map.get(tmp));
		}
		
		//entrySet() : ๋Œ€๊ด„ํ˜ธ๋กœ map์„ ๋ณด์—ฌ์คŒ (๋Œ€๊ด„ํ˜ธ = 2๊ฐ€์ง€์˜ ๊ฐ’์„ ๊ฐ€์ง„ map์ž„์„ ๋ณด์—ฌ์คŒ)
		System.out.println(map.entrySet());
		
		for(Map.Entry<String, Integer> tmp : map.entrySet()) {
			System.out.println(tmp.getKey()+ ": " + tmp.getValue());
		}
		
		
		//์ด๊ฐ€๊ฒฉ ์ถœ๋ ฅ
		int sum = 0;
		for(String tmp : map.keySet()) {
			sum += map.get(tmp);
		}
		System.out.println("์ด ํ•ฉ๊ณ„๋Š” " + sum);

	}

}

 

โœ” ์‚ฌ์šฉ

  • boolean remove(Object key, Object Value) : key,key์˜ Value๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ์‚ญ์ œ
  • remove(key) : key๊ฐ€ ์žˆ์œผ๋ฉด ์‚ญ์ œ
  • boolean containsKey(Key) : ํ•ด๋‹น key๊ฐ€ ์žˆ์œผ๋ฉด true
  • boolean containsValue(Value) : ํ•ด๋‹น value๊ฐ€ ์žˆ์œผ๋ฉด true