티스토리 뷰

IT/개발

Java9 - Stream API Improvements

K.Nero 2019. 3. 20. 00:11

출처: https://www.tutorialspoint.com/java9/java9_stream_api_improvements.htm

스트림은 오브젝트들의 순차처리를 결합하는 기능을 사용하는 개발자들을 도와주기 위해서 소개되었습니다. Java 9 에서는 몇몇의 메소드들이 추가되면서 더욱 좋아졌습니다.

default Stream<T> takeWhile(Predicate<? super T> predicate)

takeWhile 메소드는 false 를 반환하는 predicate 를 만날때 까지의 모든 값들을 반환합니다. 반환된 스트림은 입력된 순서와 동일한 순서의 스트림입니다.

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      Stream.of("a","b","c","","e","f").takeWhile(s->!s.isEmpty())
         .forEach(System.out::print);		 
   } 
}

abc

default Stream<T> dropWhile(Predicate<? super T> predicate)

dropWhile 은 시작부터 predicate 가 true 를 반환하는 모든 값들을 버리고 false 를 만난 후 부터는 true 를 반환하는 값들을 스트림으로 생성해서 반환합니다.

import java.util.stream.Stream; public class Tester { public static void main(String[] args) { Stream.of("a","b","c","","e","f").dropWhile(s-> !s.isEmpty()) .forEach(System.out::print); } }

ef
static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)

iterate 는 for 문과 같다고 생각하면 됩니다. for을 기준으로 설명해 보면 for (seed; hasNext; next) 와 같습니다.

import java.util.stream.IntStream; public class Tester { public static void main(String[] args) { IntStream.iterate(3, x -> x < 10, x -> x+ 3).forEach(System.out::print); } }

3 6 9
static <T> Stream<T> ofNullable(T t)

ofNullable 은 null 을 체크하기 위해서 나온 것으로 null이 입력될 경우 빈 스트림을 반환하여 NullPointerException 발생을 피할 수 있습니다.

import java.util.stream.Stream;

public class Tester {
   public static void main(String[] args) {
      long count = Stream.ofNullable(100).count();
      System.out.println(count);
  
      count = Stream.ofNullable(null).count();
      System.out.println(count);
   } 
}
1
0


'IT > 개발' 카테고리의 다른 글

dash -> bash  (0) 2019.04.16
Java9 - Collection Factory Methods  (0) 2019.03.14
Java9 - Module System  (0) 2019.03.12
Java default timezone  (0) 2019.03.07
Java8 Feature  (0) 2019.03.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함