Published 2022. 10. 4. 16:49
반응형

스트림은 자바 8버전 부터 사용 가능한 기능입니다 

컬렉션의 엘리먼트를 조작하고 처리할 수 있죠 ㅎㅎ 

 

스트림이 나오기 전에는 컬렉션의 엘리멘트를 순회하려고 Iterator 객체를 

이용해야 했습니다 ㅎㅎ

 

while(iterator.hasNext) {
	
    String str = iterator.next();

}

이런 식으로요 ㅎㅎ 

 

하지만 이제 스트림이 있기때문에 좀 더 간결하게 짤 수 있습니다 

list.stream().filter("datachk"::equals).forEach(System.out::println);

하나씩 뜯어서 봅시다 ㅎㅎ filter에서 한번 걸러주죠 엘리먼트 중에서 datachk이라는 문자열과 

같은지 equals로 판별하고 마지막에 프린트 한다 라는 뜻으로만 생각 하시면됩니다 ㅎㅎ 

이외에도 엄청나게 많은 기능들이 있긴해요 

 

그럼 차근차근 알아가봅시다 

먼저 배열에서 스트림을 어떤방식으로 사용하는지 배워봅시다

 

String[] strArr = { "룰루", "랄라", "하하"};
Stream<String> strStm = Arrays.stream(strArr);
strStm.forEach( str -> System.out.print(str + " ") );
//룰루 랄라 하하

배열을 스트림에 넣어주고 스트림 메서드로 람다식을 이용해 프린트 하는 방법입니다 

 

대부분 스트림과 람다식이 같이 사용되긴 해요 ㅎㅎ 람다식도 처음엔 낯설지만 

써야 할 타이밍에 제대로 쓰면 아주 유용한 기능이랍니다 

 

그리고 스트림의 연산은 총 3가지로 분류 합니다 

스트림 생성 중간 연산 그 다음 최종연산 으로 이루어져 있고 

중간연산에서 우리는 여러가지 메서드를 사용해서 엘리먼트에 접근 할 수 있는것이죠 ㅎㅎ

예를들어 배열의 엘리먼트가 엄청나게 많은데 그 중에 "랄라" 문자열이 있는 것만 찾으려고 

한다면 자연스레 아마 for ( 작성 하지 않을까 싶습니다 ㅎㅎ 그치만 

스트림이 있다는것도 한번 생각 해보시고 사용 해보셨으면 어떨까 합니다 

아 그리고 스트림은 일회용이에요! 한번쓰고 끝! 

반응형

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

[java]I/O_2  (0) 2022.10.13
[java]I/O  (0) 2022.10.12
[java]자바 중급 개념정리  (2) 2022.09.30
[java]자바 중급 개념정리1  (0) 2022.09.29
[java]Stack클래스  (0) 2022.09.28
복사했습니다!