Peony의 기록 창고 🌼
[Part 02] 6. 스트림으로 데이터 수집
도서/Modern Java in Action 2024. 4. 22. 17:25

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - 예스24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 컬렉터란 무엇인가 ? 고급 리듀싱 기능을 수행하는 컬렉터 함수형 API의 또다른 장점 : 높은 수준의 조합성, 재사용성 미리 정의된 컬렉터 Collectors에서 제공하는 메서드의 기능은 3가지로 구분할 수 있다. 스트림 요소를 하나의 값으로 리듀스 하고 요약 : 다양한 계산을 수행할 때 유용 요소 그룹화 : 다..

[PART 02] 5. 스트림 활용 (2)
도서/Modern Java in Action 2023. 8. 21. 01:20

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - 예스24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 리듀싱 요소의 합 리스트의 숫자 요소를 더하는 코드를 생각해보자. 리스트에서 하나의 숫자가 남을 때 까지 reduce 과정을 반복한다. 이런 상황에서 reduce를 이용하면 다음처럼 스트림의 모든 요소를 더할 수 있다. int sum = numbers.stream().reduce(0, (a, b) -> a + b..

article thumbnail
[PART 02] 5. 스트림 활용 (1)

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - 예스24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 필터링 프레디케이트로 필터링 스트림 인터페이스는 filter 메서드를 지원한다. filter메서드는 프레디케이트를 인수로 받아서 프레디케이트와 일치하는 모든 요소를 포함하는 스트림을 반환한다. List vegetarianMenu = menu.stream() .filter(Dish::isVegetarian) .co..

article thumbnail
[PART 02] 4. 스트림 소개
도서/Modern Java in Action 2023. 7. 16. 04:05

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - 예스24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 스트림이란? 자바 8 API에 새로 추가된 기능 선언형으로 컬렉션 데이터를 처리할 수 있음 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리 가능 이번 예제는 저칼로리의 요리명을 반환하고, 칼로리를 기준으로 요리를 정렬하는 자바 7 코드다. 이 코드를 자바 8의 스트림으로 다시 구현해보자. List..

[PART 01 기초] 3. 람다 표현식
도서/Modern Java in Action 2023. 1. 30. 03:36

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 2장에서 동작 파라미터화를 이용해서 변화하는 요구사항에 효과적으로 대응하는 코드를 구현한 수 있음을 확인했다. 동작 파라미터화를 이용하면 더 유연하고 재사용할 수 있는 코드를 만들 수 있다. 익명 클래스로 다양한 동작을 구현할 수 있지만, 만족할 만큼 깔끔하지는 않았다. 3장에서는 더 깔끔한 코드로 동작을 구현..

[PART 01 기초] 2. 동작 파라미터화 코드 전달하기

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 시시각각 변하는 사용자 요구사항에 어떻게 대응해야 할까? 특히 우리의 엔지니어링적인 비용이 가장 최소화될 수 있으면 좋을 것이고, 새로 추가한 기능은 쉽게 구현할 수 있어야하며 장기적인 관점에서 유지보수가 쉬워야 한다. 동작 파라미터화란 아직 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 이 코드 ..

[PART 01 기초] 1 .자바 8, 9, 10, 11 : 무슨 일이 일어나고 있는가?
도서/Modern Java in Action 2022. 11. 26. 02:10

이 글은 모던 자바 인 액션 책을 읽고 정리한 내용입니다. http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 1.1 역사의 흐름은 무엇인가? 자바 역사를 통틀어 가장 큰 변화가 자바 8에서 일어났다. 자바 9에서도 중요한 변화가 있었지만 곧 책에서 살펴볼 수 있듯이 자바 8만큼 획기적이거나 생산성이 바뀌는 것은 아니다. 자바 10에서는 형 추론과 관련해 약간의 변화만 일어났다. 이런 크고 작은 변화 덕분에 프로그램을 ..