Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

KSI일기장

java stream 생성 및 출력 본문

Java

java stream 생성 및 출력

MyDiaryYo 2023. 8. 8. 16:36

 

for문을 stream에서 forEach로 대체할 수 있다

 

stream 생성 및 출력 예제

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamEx {

	public static void main(String[] args) {

		//리스트 생성
		List<Integer> list = Arrays.asList(1,2,3,4);
		
		//리스트를 스트림으로 재생성
		Stream<Integer> listStream = list.stream();
		
		//최종연산 forEach() -> stream 닫힘
		listStream.forEach(System.out::print);
		
		//최종연산을 수행하면 stream은 닫히므로 한번 더 출력하려면 스트림 다시 생성 해야된다
		listStream = list.stream();
		listStream.forEach(System.out::print);
	}

}

결과: 1234

 

 

 

배열

 

 

 

문자열 스트림 생성 및 출력 예제

배열사용

//문자열 스트림 생성
		Stream<String> strStream = Stream.of(new String[] {"ab", "cde", "f"});
		strStream.forEach(System.out::print);
        
        String[] strArr = {"a", "b", "c"};
        Stream<String> strStream = Stream.of(strArr);
        // ==   Stream<String> strStream = Array.stream(strArr);

결과: abcdef   abc

 

 

int형 스트림 생성 및 출력

//int 스트림 생성
		int[] intArr = {1,2,3,4};
		
		IntStream intStr = Arrays.stream(intArr);
		System.out.println("count : " + intStr.count());
		
		IntStream intSum = Arrays.stream(intArr);
		System.out.println("sum : " + intSum.sum());
		
		IntStream intAvr = Arrays.stream(intArr);
		System.out.println("Average : " + intAvr.average());

결과 :

 

 

난수 스트림 예제

public static void main(String[] args) {

		//*****난수 스트림*****
		
		System.out.println("************************무한스트림(범위지정X)****************************");
		//무한스트림(범위지정X)
		IntStream ranStream = new Random().ints(); 
		ranStream.limit(5).forEach(System.out::println);
		
		System.out.println("*************************무한스트림(범위지정O)1***************************");
		
		//무한스트림(범위지정O)
		//방법1
		IntStream ranStream2 = new Random().ints(1,10); 
		ranStream2.limit(5).forEach(System.out::println);
		
		System.out.println("*************************무한스트림(범위지정O)2***************************");
		
		//방법2
		IntStream ranStream3 = new Random().ints(5,1,10); 
		ranStream3.forEach(System.out::println);
		
		
		
	}

 

결과: 

 

 

스트림 람다식 사용 예제

System.out.println("*************************람다식 사용***************************");
		System.out.println("*************************interate***************************");
		
		//람다식 사용
		//iterate 단항 연산자
		Stream<Integer> intStream = Stream.iterate(1, n->n+2);
		intStream.limit(8).forEach(System.out::println);
		
		System.out.println("*************************gernerate***************************");
		
		//generate 입력x, 출력O
		Stream<Integer> oneStream = Stream.generate(()->1);
		oneStream.limit(5).forEach(System.out::println);

결과: 

 

 

'Java' 카테고리의 다른 글

charAt과 substring의 차이  (0) 2023.11.30
향상된 for문  (1) 2023.11.29
JavaScript insertAdjacentText()메서드  (0) 2023.11.01
JavaScript 프라미스, async와 await  (0) 2023.11.01
java 람다식 Stream 중간연산과 최종연산의 종류  (0) 2023.08.09