Java java.util.function 패키지
by 볼빵빵오춘기java.util.function 패키지
자주 사용되는 다양한 함수형 인터페이스를 제공한다.
⇒ 우리가 사용하는 함수의 종류가 몇 개 없다.
⇒ 표준화된다는 장점이 생긴다.
매개변수가 2개인 함수형 인터페이스
앞에 ‘Bi’ 가 붙어있다.
매개변수의 타입과 반환타입이 일치하는 함수형 인터페이스
예제 코드
import java.util.function.*;
import java.util.*;
class Ex14_2 {
public static void main(String[] args) {
Supplier<Integer> s = ()-> (int)(Math.random()*100)+1;
Consumer<Integer> c = i -> System.out.print(i+", ");
Predicate<Integer> p = i -> i%2==0;
Function<Integer, Integer> f = i -> i/10*10; // i의 일의 자리를 없앤다.
List<Integer> list = new ArrayList<>();
makeRandomList(s, list);
System.out.println(list);
printEvenNum(p, c, list);
List<Integer> newList = doSomething(f, list);
System.out.println(newList);
}
static <T> List<T> doSomething(Function<T, T> f, List<T> list) {
List<T> newList = new ArrayList<T>(list.size());
for(T i : list) {
newList.add(f.apply(i));
}
return newList;
}
static <T> void printEvenNum(Predicate<T> p, Consumer<T> c, List<T> list) {
System.out.print("[");
for(T i : list) {
if(p.test(i))
c.accept(i);
}
System.out.println("]");
}
static <T> void makeRandomList(Supplier<T> s, List<T> list) {
for(int i=0;i<10;i++) {
list.add(s.get());
}
}
}
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java 메서드 참조, 생성자의 메서드 참조 (0) | 2023.12.11 |
---|---|
Java Predicate 결합. CF와 함수형 인터페이스 (1) | 2023.12.11 |
Java 함수형 인터페이스 (0) | 2023.12.11 |
Java 람다식(Lambda Expression) (0) | 2023.12.11 |
Java wait()과 notify() (0) | 2023.12.09 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기