코딩테스트에 가끔 나오다보니 맨날 까먹게 되는 map 함수 정리 시작
HashMap<String, Integer> map = new HashMap<String, Integer>();
map.put("키1", 6);
map.remove("키1"); // 키를 통해 원소 삭제
map.clear(); // 모든 entry 삭제
HashMap<String, String> map = new HashMap<>();
map.put("apple", "사과");
map.put("banana", "바나나");
map.put("grape", "포도");
System.out.println(map); //전체 출력 = {"apple"=사과, "banana"=바나나, "grape"=포도}
System.out.println(map.get(apple));//key값 apple의 value값 = 사과
System.out.println(map.getOrDefault("apple","사과")); // key "apple"가 존재하므로 "사과" 반환
System.out.println(map.getOrDefault("orange","오렌지")); // key "orange"가 없으므로 "오렌지" 반환
entrySet() : Entry<K, V> 를 반환
keySet() : Set 를 반환
values() : Collection 를 반환
HashMap<String, String> map = new HashMap<>();
map.put("apple", "사과");
map.put("banana", "바나나");
map.put("grape", "포도");
System.out.println(map); // {banana=바나나, apple=사과, grape=포도}
System.out.println(map.entrySet()); // [banana=바나나, apple=사과, grape=포도]
System.out.println(map.keySet()); // [banana, apple, grape]
System.out.println(map.values()); // [바나나, 사과, 포도]
for(Map.Entry<String, String> entrySet : map.entrySet()) {
System.out.println(entrySet.getKey() + " : " + entrySet.getValue());
}
Object[] mapkey = map.keySet().toArray();
Arrays.sort(mapkey);
for(int key:map.keySet()) {
System.out.println("key : " + key + " / " + "value : " + map.get(key));
}
List<String> keySetList = new ArrayList<>(map.keySet());
Collections.sort(keySetList, (o1, o2) -> map.get(o1).compareTo(map.get(o2)));
for(String key : keySetList) {
System.out.println("key : " + key + " / " + "value : " + map.get(key));
}