orElse
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class OptionalExam {
public static void main(String[] args) {
// orElse
List<Integer> list1 = new ArrayList<>();
double result1 = list1.stream().mapToInt(Integer::intValue).average()
.orElse(0); // 값이 있으면 값을 저장하고 없다면 0을 저장
System.out.println("result1 : "+result1);
List<Integer> list2 = Arrays.asList(88,93,77,88);
double result2 = list2.stream().mapToInt(Integer::intValue).average()
.orElse(0); // 값이 있으면 값을 저장하고 없다면 0을 저장
System.out.println("result2 : "+result2);
}
}
ifPresent
import java.util.Arrays;
import java.util.List;
public class OptionalExam {
public static void main(String[] args) {
// ifPresent
List<Integer> list3 = Arrays.asList(88,93,77,88);
list3.stream().mapToInt(Integer::intValue).average()
.ifPresent(avg-> System.out.println("avg")); // 값이 있으면 람다식 실행
}
}
import java.util.Arrays;
import java.util.List;
import java.util.function.DoubleConsumer;
public class OptionalExam {
public static void main(String[] args) {
// ifPresent
List<Integer> list3 = Arrays.asList(88,93,77,88);
list3.stream().mapToInt(Integer::intValue).average()
.ifPresent(new DoubleConsumer() {
@Override
public void accept(double value) { // value 는 스트림에서 받은 average() 값
System.out.println(value);
}
});
}
}
[Stream] 스트림 : collect - Collectors - toList, toCollection, 사용자 정의 수집 (0) | 2020.06.18 |
---|---|
[Stream] 스트림 커스텀 집계 reduce (0) | 2020.06.18 |
[Stream] 스트림 - 집계 Aggregate : count(), sum(), average(), max(), min() (0) | 2020.06.18 |
[Stream] 스트림 Matching : allMatch, anyMatch, noneMatch (0) | 2020.06.18 |
[Stream] 스트림 peek (0) | 2020.06.18 |
댓글 영역