[Java] Map

์†Œ์ด๋Žยท2023๋…„ 10์›” 20์ผ
1

Java

๋ชฉ๋ก ๋ณด๊ธฐ
23/26
post-thumbnail

๐Ÿ“ Map ํŠน์ง•

  • key=value ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • ์ˆœ์„œ๊ฐ€ ์—†๋‹ค.
  • ์ค‘๋ณต๋œ key๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค.
  • ์ธ๋ฑ์Šค๊ฐ€ ์—†๋‹ค.

๐Ÿ“ Map ์ƒ์„ฑ

  • ๋นˆ Map ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•: new HashMap()
  • ์ดˆ๊ธฐ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ Map ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•: new HashMap() {{ put(key1, value1); put(key2, value2); ... }}
package lesson10;

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

public class Ex01 {

	public static void main(String[] args) {
		// ๋นˆ Map ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
		Map<String, Integer> map1 = new HashMap<>();
		System.out.println(map1);
		
		// ์ดˆ๊ธฐ ์š”์†Œ๋ฅผ ํฌํ•จํ•œ Map ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•
		Map<String, Integer> map2 = new HashMap<>() {{
			put("a", 1);
			put("b", 2);
		}};
		System.out.println(map2);
	}

}

๐Ÿ“ ์ถ”๊ฐ€/์‚ญ์ œ/์ˆ˜์ •/์ฝ๊ธฐ

ListSetMap
์ถ”๊ฐ€add(), addAll()add(), addAll()put(), putAll()
์‚ญ์ œremove(), removeAll(), clear()remove(), removeAll(), clear()remove(), keySet().removeAll(), values().removeAll(), clear()
์ˆ˜์ •set()์š”์†Œ ์‚ญ์ œ ํ›„ ์ถ”๊ฐ€๋™์ผํ•œ key๋กœ ๋‹ค์‹œ ์ถ”๊ฐ€
์ฝ๊ธฐget()๋ฐ˜๋ณต๋ฌธ(Iterator, ํ–ฅ์ƒ๋œ for๋ฌธ) ์‚ฌ์šฉget()
  • ์ถ”๊ฐ€: put(), putAll()
  • ์‚ญ์ œ: remove(), keySet().removeAll(), values().removeAll(), clear()
  • ์ˆ˜์ •: ๋™์ผํ•œ key๋กœ ๋‹ค์‹œ ์ถ”๊ฐ€
  • ์ฝ๊ธฐ: get()

keySet(), values() ์ฃผ์˜ํ•  ์ 

  • map.keySet()์—์„œ ์‚ญ์ œํ•˜๋ฉด ์›๋ณธ์—์„œ๋„ ์‚ญ์ œ๋œ๋‹ค.
  • map.values()์—์„œ ์‚ญ์ œํ•˜๋ฉด ์›๋ณธ์—์„œ๋„ ์‚ญ์ œ๋œ๋‹ค.
package lesson10;

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

public class Ex01 {

	public static void main(String[] args) {
		Map<String, Integer> map1 = new HashMap<>();
		Map<String, Integer> map2 = new HashMap<>() {{
			put("a", 1);
			put("b", 2);
			put("c", 2);
		}};
		
		// ๐Ÿšฉ 1. ์ถ”๊ฐ€
		// ํ•˜๋‚˜ ์ถ”๊ฐ€
		map1.put("A", 1);
		map1.put("B", 2);
		map1.put("C", 3);
		map1.put("D", 3);
		map1.put("E", 5);
		map1.put("F", 6);
		System.out.println(map1); // {A=1, B=2, C=3, D=3, E=5, F=6}
		
		// ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€
		map1.putAll(map2);
		System.out.println(map1); // {A=1, a=1, B=2, b=2, C=3, c=2, D=3, E=5, F=6}
		
		// ๐Ÿšฉ 2. ์‚ญ์ œ
		// key๋กœ ํ•˜๋‚˜ ์‚ญ์ œ
		map1.remove("a");
		System.out.println(map1); // {A=1, B=2, b=2, C=3, c=2, D=3, E=5, F=6}
		
		// key, value๋กœ ํ•˜๋‚˜ ์‚ญ์ œ
		map1.remove("B", 2);
		System.out.println(map1); // {A=1, b=2, C=3, c=2, D=3, E=5, F=6}
		
		// key๋กœ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ญ์ œ
		map1.keySet().removeAll(List.of("A", "E"));
		System.out.println(map1); // {b=2, C=3, c=2, D=3, F=6}
		
		// value๋กœ ์—ฌ๋Ÿฌ ๊ฐœ ์‚ญ์ œ
		map1.values().removeAll(List.of(3, 6));
		System.out.println(map1); // {b=2, c=2}
		
		// ์ „์ฒด ์‚ญ์ œ
		map1.clear();
		System.out.println(map1); // {}
		
		// ๐Ÿšฉ 3. ์ˆ˜์ • - ๋™์ผ key๋กœ ๋‹ค์‹œ ์ถ”๊ฐ€
		System.out.println(map2); // {a=1, b=2, c=2}
		map2.put("b", 20);
		System.out.println(map2); // {a=1, b=20, c=2}
		
		// ๐Ÿšฉ 4. ์ฝ๊ธฐ
		// ํŠน์ • key์˜ value ์ฝ๊ธฐ
		int value = map2.get("a");
		System.out.println(value); // 1
		
	}

}

๐Ÿ“ Map ์ธํ„ฐํŽ˜์ด์Šค ๋ฉ”์†Œ๋“œ

๋ฉ”์†Œ๋“œ๋ช…์„ค๋ช…๋ฐ˜ํ™˜๊ฐ’
keySet()key๋“ค์„ ๋ชจ์•„์„œ Set ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ˜ํ™˜Set
values()๊ฐ’๋“ค์„ ๋ชจ์•„์„œ Collection ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ˜ํ™˜Collection
containsKey(๊ฐ’)key๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธboolean
containsValue(๊ฐ’)value๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธboolean
isEmpty()Map์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธboolean
size()Map์˜ ํฌ๊ธฐint
toString()Map์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ {ํ‚ค=๊ฐ’, ํ‚ค=๊ฐ’...}์˜ ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜String

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