23-05-26

more·2023년 5월 26일

문제

  1. 자바 문법 종합반 마지막 강의 숙제
    1-1. stream를 사용해서 List의 배열을 조회해서 보여줘야하는데,
    double maxPrice = bookList.stream().mapToDouble(Book::getPrice).max()
    여기에서 오류가 계속 남.

시도

  1. mapToDouble이 스트림을 DoubleStream 으로 변환해주는 메서드라고 나와있어서 했는데 잘 안됨. 이게 문제인지는 모르겠어서 다른 거 해봄
    1-1. max() 이게 max 값을 의미하는 거라고 하는데 일단 stream에 대한 이해가 별로 잘 안되서 조금 더 공부를 해봐야 할 것으로 보임.

해결

  1. double maxPrice = bookList.stream().mapToDouble(Book::getPrice).max().getAsDouble(); 이였음...

알게 된 점

  1. 객체에서 값을 얻기 위해서는 get(), getAsDouble(), getAsInt(), getAsLong()를 호출해야한다고 한다. mapToDouble은 그저 스트림을 DoubleStream으로 변환시켜줄 뿐이고 sum(), count(), average(), max(), min() 등의 집계 메서드에서는 값으로 지정하려면 위의 메서드들을 사용해야한다.

0개의 댓글