데이터를 주고 받다보면 DB 쿼리문에서 nvl체크 하는거처럼 java 소스에서도 값이 없을 경우에 디폴트 값을 설정하고 싶은 적이 있을 것이다.
데이터를 주고받을때 VO로 주고 받겠지만 Map으로 주고 받게 될 경우 대체로 공통메소드에 String타입 nvl체크하는 메소드를 사용할 것이다. 이럴 경우 map.get(key) 값에 nvl체크 할 필요없이 map.getOrDefault(key, "")으로 간편하게 바로 사용할 수 있다.
Map - getOrDefault(key, default value)
key에 해당하는 값이 있다면 찾는 키의 값을 반환하고 없다면 디폴트로 설정한 값으로 반환한다.
getOrDefault에 대한 자료들을 찾아보니 대부분의 블로그들에서 알고리즘 문제로 활용하는 것으로 더 유명한 메소드 같다. 아래 소스와 같이 알고리즘 문제를 푸는 것으로 유명하니 이런 방법도 있는지 알아두는 것도 좋을 것이다.
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String[] arr = {"A", "B", "C", "A"};
Map<String, Integer> map = new HashMap<>();
for(String str : arr) map.put(str, map.getOrDefault(str, 0) + 1);
}
}
map : {A = 2, B = 1, C = 1}
'Java' 카테고리의 다른 글
[Eclipse] 블록주석, 한 줄 주석 안될 때 해결 및 설정방법. (5) | 2022.04.20 |
---|---|
[JAVA] Cron, 스케줄러의 표현식 (0) | 2022.01.19 |
[JAVA] 문자열을 합치는 여러가지 방법 (+, concat, StringBuilder, StringBuffer) (0) | 2021.12.07 |
[Java] window에서 자바 아카이브(JAR)로 압축하기 (0) | 2021.11.24 |
[JAVA] 가변매개변수(매개변수 동적 사용/오버로딩 X) (0) | 2021.10.26 |