본문 바로가기
Back-End/Java

TIL 230614 : 실행은 같아도 코드는 다르다.

by 우인입니다 2023. 6. 19.

튜터님의 코드로부터 배운 보고 배운 점

: 같은 기능을 구현해도 코드는 너무 다르다. 오랜시간 축적된 지혜를 잘 흡수해야할 듯 하다. 오늘은 그저 강의 들으며 배운 것들 다음에 내가 적용하기 위해 정리해본다.

 

 

삼항연산자 활용

Long maxId = memoList.size() > 0 ? Collections.max(memoList.keySet()) + 1 : 1;

삼항연산자라는 걸 완전히 잊고 있다가 강의 도중 만났는 데, 다시 보이게 된다.

만약 저걸 안했더라면 아래처럼 코드를 했을 것이다.

Long maxId = 0;
if(memoList.size() > 0){
   maxId = Collections.max(memoList.keySet()) + 1;
} else {
   maxId = 1;
}

 

 

Map -> List

public List<MemoResponseDto> getMemos() {
    // Map To List
    List<MemoResponseDto> responseList = memoList.values().stream()
            .map(MemoResponseDto::new).toList();

    return responseList;
}

stream() : Map에서 가져온 값들을 for문처럼 돌려준다.

 

 

return new

이렇게 반환하면 List 에 자동으로 추가되고 List를 한번에 출력한다.

public List<MemoResponseDto> getMemos() {
...
return new MemoResponseDto(id, username, contents);
}