본문 바로가기
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();
		
	}
	
}

'Java > stream' 카테고리의 다른 글

Java Stream 예시 6  (0) 2022.11.13
Java Stream 예시 4  (0) 2022.11.13
Java Stream 예시 3  (0) 2022.11.13
Java Stream 예시 2  (0) 2022.11.13
Java Stream 예시 1  (0) 2022.11.13