개발/자바

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);

 

 

반응형