연습용 메서드
두번째 매개변수로 전달된 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;
}
//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);
list.forEach(num-> System.out.println(num));
list.forEach(num->{
num=num+5;
});
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;
}
List<String> list1=new ArrayList<>();
list1.add("개굴개굴 개구리");
list1.add("삐약삐약 병아리");
list1.add("꽤액꽤액 오오리");
list1.add("멍멍왈왈 강아지");
DefinedFunctional.getIntListFromString( str-> str.length() ,list1);