개발/자바
Java ) 함수형 인터페이스(FunctionalInterface)
kakk789
2022. 8. 3. 21:22
함수형 인터페이스 (@FunctionalInterface)
- 구현할 추상 메소드가 하나만 존재하는 인터페이스
- 함수형 인터페이스는 어노테이션이 붙음 (@FunctionalInterface)
예시 ) IntFunction<반환타입>
- int 값을 매개변수로 전달받아 결과 값을 Generic 설정한 타입으로 반환하는 메소드를 정의
IntFunction<반환타입> 변수명 = 추상 메소드 구현
람다식을 이용한 String Generic 타입 반환 예제
- int 를 String 으로 벼환
- 50을 전달하여 100+50 연산 후 String 으로 변환
apply( )
IntFunction<String> r = (a) -> a + 100 + "";
String data = r.apply(50);
System.out.println(data);
람다식을 이용한 ArrayList<Integer> Generic 타입 반환 예제
- 10을 전달하고 배열에서 10보다 큰 값만 반환
int []arr = {9,2,3,100,7,6,5,20,5,8,7,9,30};
ArrayList<Integer> arr1 = new ArrayList<Integer>();
IntFunction<ArrayList<Integer>> selectData = (a) -> {
for(int i=0; i<arr.length; i++) {
if(a<arr[i]) {
arr1.add(arr[i]);
}
}
return arr1;
};
selectData.apply(10);
System.out.println(arr1);
반응형