728x90
Stream API?
자바 8부터 Stream API가 제공되어 함수형으로 프로그래밍이 가능해졌음
String[] arrayOfStrings = {"A", "B", "C"};
// for each
for (String name : arrayOfStrings) {
System.out.println(name);
}
// stream
Arrays.stream(arrayOfStrings).forEach(System.out::println);
특징
1. 원본 데이터는 변경되지 않는다
- 원본 데이터로부터 읽기만 수행
- arrayOfStrings 에서 newList를 만들기 위해 별도의 Stream을 생성
2. 일회용
- 한번 사용된 steam은 재 사용할 수 없음
- 다시 사용하고자 한다면 IllegalStateException 발생 즉 두번 호출 불가능
구성 요소
생성
- stream을 생성
가공
- 각 element를 기반으로 새로운 값을 만듦
- 필터링
- 정렬
- …
결과
- 출력
- 전체 개수 세기
예제
A, B, C에서 B는 제거하고 각 element에 “Hi, “를 붙여서 출력하라
String[] arrayOfStrings = {"A", "B", "C"};
// stream
Arrays.stream(arrayOfStrings)
.filter(name -> !name.equals("B")) // B가 아닌경우만 생존
.map(name -> "Hi, " + name)
.forEach(System.out::println);
반응형
'Java 개념' 카테고리의 다른 글
다형성 (0) | 2024.02.19 |
---|---|
자바 둘러보기 (0) | 2024.02.16 |
JavaBean과 액션태그 (0) | 2023.09.05 |
JDBC 연동 (0) | 2023.09.04 |
Stack과 Queue (0) | 2023.08.23 |