import java.util.Arrays;
import java.util.function.BiFunction;
public class BiFunctionTest {
/*
두 개의 매개변수를 받아 가공 후 값을 반환한다.
두 매개변수와 반환값의 타입은 모두 다를 수 있다.
재네릭 결정 : BiFunction<매개변수타입, 매개변수타입, 반환타입>
public R apply (T t, U u) 구현
*/
public static void main(String[] args) {
// 문자열과 반복횟수를 매개변수로 받아 문자열 배열을 반환
// 익명 객체
BiFunction<String,Integer,String[]> biFunction = new BiFunction<String, Integer, String[]>() {
@Override
public String[] apply(String s, Integer loop) {
String[] array = new String[loop];
for (int i = 0; i < loop ; i++) {
array[i] = s + (i+1);
}
return array;
}
};
// 람다
BiFunction<String,Integer,String[]> lambda = (s,loop)->{
String[] array = new String[loop];
for (int i = 0; i < loop ; i++) {
array[i] = s + (i+1);
}
return array;
};
String str = "count";
// 익명 객체 테스트
String[] arr = biFunction.apply(str,10);
System.out.println(Arrays.toString(arr));
// 람다 테스트
arr = lambda.apply(str,5);
System.out.println(Arrays.toString(arr));
}
}
댓글 영역