어제 목표 & 오늘 완료한 한 일
알고리즘 문제자바 종합 강의 (4주차)자바 종합 강의 (5주차)
내일 목표
- 알고리즘 문제
- 자바 개인과제
- 자바 종합 강의 복습 (1주차)
발생한 문제와 해결
5주차 과제 진행 중에 2 문제 푸는 동안 에러가 발생했다. 코드는 아래와 같이 작성했고,
double sum = bookList.stream().filter(book -> book.getCategory().equals("IT"))
.map(book -> book.getPrice()).sum();
발생한 에러는 다음과 같았다.
Cannot resolve method 'sum' in 'Stream'
숫자형으로 변환해주지 않고 sum()을 사용하려고 해서 에러가 발생한 것 같았다. 그래서 아래와 같이 코드를 수정해줬다.
그리고 다른 한 문제는 이와 같이 코드를 작성하였고,
double maxPrice = bookList.stream().
mapToDouble(book -> book.getPrice()).max();
이러한 에러가 발생하였다.
Change variable 'maxPrice'type to 'OptionalDouble'
double을 OptionalDouble로 수정하면 에러가 해결되는 듯 했지만, 문제에서 의도한 바는 이것이 아닌 것 같아 다른 원인을 찾기 위해 노력했다. 하지만 다른 방법을 찾지 못해 정답 코드를 확인했다. 정답코드에서 제시한 방법은 getAsDouble() 메서드를 사용하는 것이었다. getAsDouble() 메서드는 처음봤는데 서치해본 결과, OptionalDouble에서 double 값을 반환해주는 메서드 라는 것 같다. (https://kimfk567.tistory.com/139)
느낀점
오늘은 자바 문법 종합 강의를 통해 예외, 제네릭, 컬렉션, wrapper 클래스, 프로세스와 스레드 등등.. 을 배웠다. 이것들을 이미 배운 상태였지만, 그래도 배우는 데 어려움이 있었던 것 같다.. 그 중에서 람다, 스트림은 알고리즘 문제를 풀면서 많이 봤던 것들이라 대충은 알고 있어 쉽게 이해하고 빠르게 넘어갈 수 있을 것이라 생각했는데 스트림은 그래도 비교적 쉽게 이해하고 사용할 수 있었지만, 람다는 잘 모르겠다.
어제했던 3주차 과제는 그래도 틀을 잡고 어느정도 코드를 완성할 수 있었는데, 4주차 과제는 거의 아무것도 건들이지 못했다. 그냥 문제 자체를 잘 모르겠는... 그리고 5주차 과제에서는 몇 가지 모르는 문제가 있었고 몇 문제는 푸는 동안 에러가 발생했다.
'TIL & WIL' 카테고리의 다른 글
[TIL] #36. 231019 (0) | 2023.10.19 |
---|---|
[TIL] #35. 231018 (0) | 2023.10.19 |
[TIL] #33. 231016 (0) | 2023.10.16 |
[WIL] #5. 231009~231015 (0) | 2023.10.15 |
[TIL] #32. 231015 (0) | 2023.10.15 |