[JAVA8] HashMap에 getOrDefault 와 putIfAbsent 의 차이
getOrDefault : key 값이 없다면 입력시 설정한 default 값을 반환 putIfAbsent : key 값이 없다면 입력 된 key와 value 를 입력, 해당 key가 존재하면 입력 되었던 값 반환 HashMap hm = new HashMap (); // 1. 비어있는 HashMap에서 get 호출 System.out.println("key가 없을 때 : " + hm.get("key")); // 결과 : key가 없을 때 : null // 2. 비어있는 HashMap에서 getOrDefault 호출 System.out.println("getOrDefault() : " + hm.getOrDefault("key", "car")); // 결과 : getOrDefault : car // 3. key, value 입력 System.out.println("putIfAbsent() : " + hm.putIfAbsent("key", "ship")); // 결과 : putIfAbsent : null // 이전값이 존재하지 않기 때문에 null 반환 // 4. putIfAbsent으로 key, value 입력 후 동일한 key 값 재호출 System.out.println("putIfAbsent() : " + hm.putIfAbsent("key", "bike")); // 결과 : putIfAbsent : ship System.out.println("values in map : "+hm.toString()); // 결과 : {key=ship} // getOrDefault은 해당 key가 없을 경우 값을 set은 하지 않고 정해진 default 값만 리턴 하기 떄문에 car 없음 // putIfAbsent는 이...