java
스트림은 개발자가 일련의 개체에서 집계 작업을 수행하는 데 도움이 되도록 Java에 도입되었습니다. Java 9에서는 스트림을 개선하기 위해 몇 가지 메서드가 더 추가되었습니다.
default Stream<T> takeWhile(Predicate<? super T> predicate)
takeWhile 메소드는 술어가 false를 리턴할 때까지 모든 값을 취합니다. 정렬된 스트림의 경우 주어진 술어와 일치하는 이 스트림에서 가져온 요소의 가장 긴 접두사로 구성된 스트림을 반환합니다.
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); } }
takeWhile 메서드는 모든 b, c 값을 취한 다음 문자열이 비어 있으면 실행을 중지합니다.
abc
default Stream<T> dropWhile(Predicate<? super T> predicate)
dropWhile 메서드는 술어가 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); System.out.println(); Stream.of("a","b","c","","e","","f").dropWhile(s-> !s.isEmpty()) .forEach(System.out::print); } }
dropWhile 메소드는 a, b 및 c 값을 삭제하고 문자열이 비어 있으면 모든 값을 취합니다.
ef ef
static <T> Stream<T> iterate(T seed, Predicate<? super T> hasNext, UnaryOperator<T> next)
iterate 메서드는 이제 hasNext 조건자가 false를 반환하면 루프를 중지하는 매개변수로 hasNext 조건자를 가집니다.
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::println); } }
3 6 9
static <T> Stream<T> ofNullable(T t)
ofNullable 메서드는 NullPointerException을 방지하고 스트림에 대한 null 검사를 방지하기 위해 도입되었습니다. 이 메서드는 null이 아닌 경우 단일 요소를 포함하는 순차적 Stream을 반환하고, 그렇지 않으면 빈 Stream을 반환합니다.
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
java
자바 I/O 스트림 이 튜토리얼에서는 Java 입력/출력 스트림과 그 유형에 대해 알아봅니다. 자바에서 스트림은 소스에서 읽고 대상에 쓰는 데이터 시퀀스입니다. 입력 스트림 소스에서 데이터를 읽는 데 사용됩니다. 그리고 출력 스트림 대상에 데이터를 쓰는 데 사용됩니다. class HelloWorld { public static void main(String[] args) { System.out.println(Hello, World!); } } 예를 들어 첫 번째 Hello World에서 예를
자바에서 리플렉션이란 무엇입니까? Java Reflection은 런타임에 클래스의 모든 기능을 분석하고 수정하는 프로세스입니다. Java의 Reflection API는 런타임에 필드, 메소드, 생성자 등을 포함하는 클래스 및 해당 멤버를 조작하는 데 사용됩니다. Java에서 리플렉션 API의 한 가지 장점은 클래스의 private 멤버도 조작할 수 있다는 것입니다. java.lang.reflect 패키지는 리플렉션을 구현하는 많은 클래스를 제공합니다. java.lang.Class 클래스의 java.Methods는 특정 클래스의