Java/Java
스트림 reduce
MDanderson
2022. 10. 22. 04:20
배열에서 가장 긴/짧은 글자를 뽑을 때 사용
import java.util.Arrays;
import java.util.function.BinaryOperator;
class Compare implements BinaryOperator<String>{
@Override
public String apply(String s1, String s2) {
if(s1.getBytes().length < s2.getBytes().length) return s1;
else return s2;
}
}
public class Reduce {
public static void main(String[] args) {
String[] arr = {"안녕하세요~~~~","hello","안냐세요"};
System.out.println( Arrays.stream(arr).reduce("",(s1, s2) ->
s1.getBytes().length > s2.getBytes().length ? s1:s2 ) );
System.out.println(Arrays.stream(arr).reduce("", (s1,s2)->{
if(s1.getBytes().length > s2.getBytes().length) return s1;
else return s2;})
);
System.out.println( Arrays.stream(arr).reduce(new Compare()).get()
);
}
}