[JAVA] Lambda 람다 4 - 함수형 인터페이스

펭귄안녕·2024년 10월 23일

JAVA

목록 보기
7/9
post-thumbnail

Supplier< T> -> T get()

연습용 메서드

DefinedFunctional

두번째 매개변수로 전달된 n개의 정수를 갖는 리스트를 생성 및 리턴

public static List<Integer> makeIntList(Supplier<Integer> s,int n){
	List<Integer> list=new ArrayList<>();
	for (int i=0;i<n;i++){
		list.add(s.get());
		}
	return list;
}

DefinedFunctionalTest

//Supplier<T> -> T get()
Supplier<Integer> s=()->{
	Random rand=new Random();
	return rand.nextInt(50); // 1~50까지의 난수 생성
	};

List<Integer> result = 	DefinedFunctional.makeIntList(s,5);
result.forEach(num-> System.out.print(num+" "));
List<Integer> result = DefinedFunctional.makeIntList(()->{
	Random rand=new Random();
	return rand.nextInt(50);
	},5);

Consumer< T> -> void accept(T t)

DefinedFunctionalTest

list.forEach(num-> System.out.println(num));

list.forEach(num->{
	num=num+5;
});

Function<T,R> -> R apply(T t)

DefinedFunctionalTest

public static List<Integer> getIntListFromString(Function<String,Integer> f,List<String> list){
	List<Integer> result=new ArrayList<>();

		for (String e:list){
		result.add(f.apply(e));
	}

	return result;
}

DefinedFunctionalTest

List<String> list1=new ArrayList<>();
list1.add("개굴개굴 개구리");
list1.add("삐약삐약 병아리");
list1.add("꽤액꽤액 오오리");
list1.add("멍멍왈왈 강아지");

DefinedFunctional.getIntListFromString( str-> str.length() ,list1);

0개의 댓글