๐๐ป Map
- ํค(Key)์ ๊ฐ(Value)์ผ๋ก ๊ตฌ์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ
- ์ด๋ค ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐ๊ฒฐ(๋งคํ)
- ํค๋ ์ค๋ณต x = ๊ณ ์ ํ๋ฉฐ ๊ฐ์ ์ค๋ณต ์ ์ฅ ๊ฐ๋ฅ
- HashMap, Hashtable, TreeMap, SortedMap ๋ฑ
-List๋ ์ธ๋ฑ์ค ๊ธฐ์ค, Map์ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ฐ์ฒด ๊ด๋ฆฌ
(1) ๊ฐ์ฒด ์ถ๊ฐ Put
- ์ฃผ์ด์ง ํค๋ก ๊ฐ์ ์ ์ฅ
- put(object key, object value)
(2) ๊ฐ์ฒด ๊ฒ์ containsKey / containsValue
- ์ฃผ์ด์ง ํค๊ฐ ์์ผ๋ฉด true, ์์ผ๋ฉด false ๋ฆฌํด : containsKey(object key)
- ์ฃผ์ด์ง ๊ฐ์ด ์์ผ๋ฉด true, ์์ผ๋ฉด false ๋ฆฌํด : containsValue(object value)
(3) ๊ฐ์ฒด๋ฅผ Set์ผ๋ก ๋ฐํ entry Set / ํค๋ฅผ Set์ผ๋ก ๋ฐํ keySet
- ํค์ ๊ฐ์ ์์ผ๋ก ๊ตฌ์ฑ๋ ๋ชจ๋ Map.Entry ๊ฐ์ฒด๋ฅผ Set์ ๋ด์ ๋ฆฌํด : entry Set()
- ๋ชจ๋ ํค๋ฅผ Set ๊ฐ์ฒด์ ๋ด์์ ๋ฆฌํด : keySet()
(4) ํค์ ๋ํ ๊ฐ ํ์ธ get
- ์ฃผ์ด์ง ํค์ ๋ํ ๊ฐ์ ๋ฆฌํด
- get(Object key)
(5) ์ปฌ๋ ์ ๊ฐ์ฒด ์ ๋ฌด ํ์ธ isEmpty
- ์ปฌ๋ ์ ์ด ๋น์ด์๋์ง ํ์ธ
- isEmpty()
(6) ํค-๊ฐ ์ด ๊ฐฏ์ size
- size()
(7) ๊ฐ์ ์ปฌ๋ ์ ๋ฆฌํด values
- ์ ์ฅ๋ ๋ชจ๋ ๊ฐ์ ์ปฌ๋ ์ ์ ๋ด์ ๋ฆฌํด
- values()
(8) ๊ฐ์ฒด ์ญ์ clear
- ๋ชจ๋ ํค์ ๊ฐ ์ญ์
- clear()
(9) ๊ฐ์ฒด ์ญ์ ํ ๊ฐ ๋ฆฌํด remove
- ์ฃผ์ด์ง ํค์ ์ผ์นํ๋ ์ํธ๋ฆฌ ๊ฐ์ฒด ์ญ์ ํ๊ณ ๊ฐ์ ๋ฆฌํด
- remove(Object key)
๐๐ป HashMap
- ๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ์ด ๊ฒฐํฉ๋ ํํ
- ํด์ ํจ์๋ฅผ ํตํด ํค์ ๊ฐ์ด ์ ์ฅ๋๋ ์์น ๊ฒฐ์
- hashcode()์ ๋ฆฌํด๊ฐ์ด ๊ฐ์ + equals()๊ฐ true ๋ฆฌํด
- hashing ๊ธฐ๋ฒ ์ฌ์ฉ์ผ๋ก ๋๋์ ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ๊ฒ์์ ์ข์ ์ฑ๋ฅ
- ํค์ ๊ฐ์ ํ์ ์ ํด๋์ค ๋ฐ ์ธํฐํ์ด์ค ํ์ ๋ง ๊ฐ๋ฅ
Map<Key, Value> map = new HashMap<Key, Value>();
(1) ๊ฐ์ฒด ์ ์ฅ
map.put(ํค, ๊ฐ);
bread.put("ํผ์๋นต", 4000);
bread.put("์ด์ฝ๋นต",3000);
bread.put("์๋ฒํฐ",5000);
bread.put("๊น๋น ๋ด",6000);
bread.put("์น์๋ฐํ",2000);
(2) ๊ฐ์ฒด ๊ฐ ๋ฐํ
map.get(ํค);
(3) ๊ฐ์ฒด ์ญ์
map.clear();
(4) Set ํํ๋ก ๋ฐํ
//keySet ๋ณํ
Set<String> keySet = bread.keySet();
//entrySet ๋ณํ
Set<Map.Entry<String, Integer>> entrySet = bread.entrySet();
๐ HashMap ๋ด์ฉ ๊บผ๋ด๋ ๋ฐฉ๋ฒ
(1) entrySet()
- map์ ์ ์ฅ๋์ด์๋ Entry ๊ฐ์ฒด ๋ฐํ
- Entry ๊ฐ์ฒด๋ ํค์ ๊ฐ์ ์์ ์ ์ฅํ๋ ๊ฐ์ฒด๋ก getKey()์ getValue()๋ก ํค์ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์์
for ( Map.Entry<String, Integer> entry : map.entrySet() ) {
System.out.println( entry.getKey() + entry.getValue() );
}
(2) keySet()
- Map์ ์ ์ฅ๋์ด ์๋ ํค ๋ฐํ
- get()๋ก ํค์ ๋์๋๋ ๊ฐ์ ๊ฐ์ ธ์ด
for (String key : map.keySet()) {
String value = map.get(key);
System.out.println( key + value );
}
(3) iterator()
//keySet ํธ์ถ
Iterator<String> KeyIterator = keySet.iterator();
while(KeyIterator.hasNext()){
String key = KeyIterator.next();
}
//entrySet ํธ์ถ
Iterator<Map.Entry<String,Integer>> entryIterator = entrySet.iterator();
๐ก keySet์ entrySet์ iterator
- keySet()์ key ๊ฐ๋ง ๊ฐ์ ธ์ฌ ์ ์์
- entrySet()์ key์ value ๊ฐ ๊ฐ์ ธ์ฌ ์ ์์
- iterator()๋ ์์์ ์๊ด์์ด ํ๋์ฉ ์ ๊ทผ
'Study > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] ๋ด๋ถ ํด๋์ค (0) | 2022.05.18 |
---|---|
[TIL] ์๋ฃ๊ตฌ์กฐ (0) | 2022.05.18 |
[TIL] Set<E> (2) | 2022.05.17 |
[TIL] List<E> (0) | 2022.05.17 |
[TIL] ์ปฌ๋ ์ ํ๋ ์์ํฌ (0) | 2022.05.17 |