[JAVA]_스트림 API

전희주·2023년 4월 24일
0

JAVA

목록 보기
19/24

스트림

스트림 개념 및 구조


배열+컬렉션+파일 + Stream

  • 스트림이란?
    · 배열과 컬렉션의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자
    · 람다식: 함수명을 선언하고 사용하는 것이 아닌 식별자 없이 실행가능한 함수

스트림 기능 처리

중간 처리와 최종 처리를 할 수 있음

  • 중간 처리: 정렬, 필터링, 중복제거, 연산
    		    //  flatmap: 1:n 로 맵핑 
    			//  k가 "A/B/C/D"인 경우 k.split("/")은 {"A", "B", "C", "D"} 배열을 반환
    			//  Arrays.stream 메소드를 사용하여 이 배열을 스트림으로 변환
    			//  스트림 변환시 반복문(for each)을 통한 데이터 처리를 효과적으로 수행
    			//  이렇게 변환된 스트림은 flatMap 연산자를 사용
    		
    			List<String> list5 = Arrays.asList("A/B/C/D");
    			list5.stream()
    			     .flatMap(s -> Arrays.stream(s.split("/"))) // "/" 기준으로 문자열 분리 후 Stream<String> 으로 반환
    			     .forEach(System.out::println);

 -  최종 처리: 최대, 최소,  평균, 총합 등 집계, 변환(List, Set, map), 반복 출력 

0개의 댓글