map 2

[Java] Map.getOrDefault()가 예외를 던진다고?

Map.getOrDefault()를 사용하다가 Exception을 만난 경험이 있다면, 이 글이 도움이 될 수 있습니다.많은 사람들이 "getOrDefault는 키가 없을 때만 기본값을 사용한다"라고 생각하지만, 실제 동작은 다릅니다.이 글에서는 getOrDefault()의 진짜 동작 방식을 알아보고, 안전한 대안까지 정리해 보겠습니다. 👩🏻‍💻 예상 못한 예외, 어디서부터 잘못된 걸까?다음 코드에서 NumberFormatException이 발생했습니다.Long no = noMap.getOrDefault(update.getNo(), Long.valueOf(update.getNo()));에러 메시지는 아래와 같았습니다.java.lang.NumberFormatException: For input str..

Backend/Java 2025.04.16

[Java] computeIfAbsent 효율적인 데이터 캐싱과 값 처리

computeIfAbsent를 아시나요?🫥저는 자료구조를 좀 더 효율적으로 사용하려고 찾아보다가 발견한 메서드입니다!Java의 Map 인터페이스에 있는 메서드로 키가 없을 때만 값을 계산하여 맵을 추가하고, 키가 이미 존재하는 경우에는 기존의 값을 반환합니다. 이러한 기능은 데이터 캐싱, 복잡한 객체 생성, 그리고 데이터 동기화에 매우 유용하게 사용될 수 있습니다. computeIfAbsent의 사용법computeIfAbsent 메서드는 다음과 같은 시그니처를 가지고 있습니다.key : 맵에서 찾으려는 키입니다.mappingFuction: 값이 존재하지 않을 때 키를 기반으로 값을 생성하는 함수입니다.메서드는 키가 맵에 존재하지 않는 경우에만 mappringFunction을 호출하여 값을 생성하고, 생..

Backend/Java 2024.07.27