반응형
filter()
- 컬렉션에서 조건에 맞는 요소만 뽑아 새로운 스트림을 생성합니다. (필터링 기능)
- collect()와 같이 사용하여 조건에 맞는 새로운 리스트를 만들 수 있습니다.
예제. 리스트에서 30보다 큰 값을 뽑아 새로운 리스트로 만들기
1. 기존 방식
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Integer[] arr = new Integer[]{10, 20, 30, 40, 50};
List<Integer> list = Arrays.asList(arr);
List<Integer> newList = new ArrayList<>();
for(int i = 0; i < list.size(); i++){
if (list.get(i) >= 30) {
newList.add(list.get(i));
}
}
System.out.println(newList);
}
}
2. Stream 방식
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Integer[] arr = new Integer[]{10, 20, 30, 40, 50};
List<Integer> list = Arrays.asList(arr);
List<Integer> newList = list.stream()
.filter(value -> value >= 30).collect(Collectors.toList());
System.out.println(newList);
}
}
반응형
'Back end > Java' 카테고리의 다른 글
[Java] Scanner 클래스의 next()와 nextLine() 차이 (0) | 2024.03.19 |
---|---|
[Java] Stream.distinct() 중복 제거 (0) | 2024.03.08 |
[Java] for-loop를 Stream forEach로 변경하기 (0) | 2024.02.28 |
[Java] Array(배열) 객체 복사하기 (0) | 2023.09.20 |
[Java] 배열을 문자열로 만드는 메서드 join (예제 포함) (0) | 2023.09.13 |