Java8 - 동작파라미터화 (predicate 활용)
1. 문제
- 사과 리스트 중에 150 그램 이상의 빨간 사과를 찾아라
2. 기존 자바의 필터링
- 색상이 빨간색 사과만 골라내서 담는다.
- 그러나 추가적으로 요구사항이 생길 경우 일일이 변경해야 한다.
3. 디자인 패턴을 이용한 필터링
1) filterApple 메소드
2) interface - predicate 사용
3) implements
- 기존 자바의 필터링보다 유연하게 대처 가능하다. 그러나 interface 를 따로 만들어야 한다는 번거로움이 있다.
4. 익명클래스 사용한 필터링
1) filterApple
- 익명클래스 사용하면 간결하다. 그러나 가독성이 떨어져 한눈에 보기 힘들다.
5. 람다 표현식 사용
- 간결해졌다.
6. 리스트의 추상화와 람다를 이용한 필터링
1) interface
2) filter()
3) 사용
- 추상화를 통하여 간결함을 물론 다양한 형태를 필터링 할 수 있다.
'Back-End > Java_2' 카테고리의 다른 글
[Java] Java8 - 함수형인터페이스 그리고 람다의 활용 (0) | 2018.06.16 |
---|---|
[Java] Future, Callable, Executor를 이용한 Thread (0) | 2017.10.15 |
[Java] Thread에서 데이터 반환(폴링, 콜백) - Receive data by using thread polling, callback (0) | 2017.10.15 |
[Java] Thread 만들기 - To create Threads (0) | 2017.10.15 |
[Java] InputStream - 입력스트림 (0) | 2017.08.22 |