Java/stream
Java Stream 예시 5
by S.T.Lee
2022. 11. 13.
package lec08.fileio04.stream.ex1;
import java.util.Arrays;
import java.util.stream.Stream;
public class StreamMain05 {
public static void main(String[] args) {
//map
//int
Stream<Integer> mapStream01 = Stream.of(3,4,5).map(i -> i + 1);
mapStream01.forEach(i -> System.out.print(i + " "));
System.out.println();
//boolean
Stream<Boolean> mapStream02 = Stream.of(3,4,5).map(i -> i < 5);
mapStream02.forEach(i -> System.out.print(i + " "));
System.out.println();
//boolean
Stream<Boolean> mapStream03 = Stream.of("samsung", "sk", "lg").map(i -> i.equals("sk"));
mapStream03.forEach(i -> System.out.print(i + " "));
System.out.println();
//flatmap
String[][] multipleStringArray = new String[][] {{"a", "b", "c"}, {"가", "나", "다"}, {"good", "nice", "well"}};
Stream<String> flatMapStream01 = Stream.of(multipleStringArray).flatMap(arr -> Arrays.stream(arr));
flatMapStream01.forEach(i -> System.out.print(i + " "));
System.out.println();
//concat
Stream<String> concatStream01 = Stream.of("samsung", "lg");
Stream<String> concatStream02 = Stream.of("반도체", "가구", "휴대폰", "자동차 전자장비");
Stream<String> concatResultStream = Stream.concat(concatStream01, concatStream02);
concatResultStream.forEach(i -> System.out.print(i + " "));
System.out.println();
//복합 활용
Stream<String> multipleMethodStream =
Stream.of("Samsung", "LG", "SK", "Hyundai", "SK", "")
.distinct()
.filter(i -> !i.isEmpty())
.sorted((s1, s2) -> s1.compareTo(s2));
multipleMethodStream.forEach(i -> System.out.print(i + " "));
System.out.println();
}
}