상세 컨텐츠

본문 제목

[Lamda] 함수형 인터페이스 : BiPredicate

Java

by kwanghyup 2020. 6. 19. 03:12

본문

import java.util.Arrays;
import java.util.List;
import java.util.function.BiPredicate;

public class BiPredicateTest {
    /*
        두 개의 매개변수를 받아 boolean 값을 반환한다.
        public boolean test(T t, U u) 구현
    */
    public static void main(String[] args) {

        // 익명 객체
        BiPredicate<String, List<String>> biPredicate = new BiPredicate<String, List<String>>() {
            @Override
            public boolean test(String s, List<String> list) {
                return list.contains(s); // 컬렉션 리스트(list)는 문자열(s)를 포함하는가
            }
        };

        // 람다
        BiPredicate<String,List<String>> lambda = (s,list) -> list.contains(s);

        List<String> list  = Arrays.asList("java","jsp","spring","mysql");
        String jsp = "jsp";
        String oracle = "oracle";

        // 익명 객체 테스트 
        boolean result1 = biPredicate.test(jsp,list);
        boolean result2 = biPredicate.test(oracle,list);
        System.out.println(result1 + " "+ result2);

        // 람다 테스트
        result1 = lambda.test(jsp,list);
        result2 = lambda.test(oracle,list);
        System.out.println(result1 + " "+ result2);

    }
}

관련글 더보기

댓글 영역