728x90
/* Predicate 인터페이스 */
함수형 프로그래밍을 구현하기 위해 jdk 1.8에 나왔다.
/* Predicate 의 test() */
boolean test(T t);
test() 메서드는 제너릭 타입 T t로 특정 작업(함수형 프로그래밍, 람다식)을 수행한다.
/* 예제1 */
Predicate <Integer> predicate = (input) -> input > 100;
predicate.test(10); //false
predicate.test(200); //true
위의 예제를 보면 함수형 프로그래밍을 만들면 test 메서드를 따로 정의할 필요가 없다. (이미 정의가 되어있다)
따라서 다음과 같은 식도 가능하다
/* 예제2 */
public void deleteById(int id){
// Todo는 객체, todos는 Todo를 담은 ArrayList
Predicate<Todo> predicate
= (todo) -> todo.getId() == id;
todos.removeIf(predicate);
}
removeIf의 패러미터 타입은 Predicate이다.
728x90
'자바' 카테고리의 다른 글
[JAVA] 컬렉션 - LinkedList (0) | 2024.02.07 |
---|---|
[JAVA] 벡터 Vector (0) | 2024.02.06 |
[JAVA] 컬렉션 - ArrayList (0) | 2024.02.05 |
[JAVA] 람다식 (Lambda Expression) (0) | 2023.11.23 |
[JAVA] 제네릭 타입 (0) | 2023.11.23 |