[Java] Stream의 filter() 메소드 (ft.collect())

2024. 2. 29. 18:40·Back end/Java
반응형

 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
'Back end/Java' 카테고리의 다른 글
  • [Java] Scanner 클래스의 next()와 nextLine() 차이
  • [Java] Stream.distinct() 중복 제거
  • [Java] for-loop를 Stream forEach로 변경하기
  • [Java] Array(배열) 객체 복사하기
Kim-SooHyeon
Kim-SooHyeon
개발일기 및 알고리즘, 블로그 운영에 대한 글을 포스팅합니다. :) 목표: 뿌리 깊은 개발자 되기
    반응형
  • Kim-SooHyeon
    soo_vely의 개발로그
    Kim-SooHyeon
  • 전체
    오늘
    어제
    • 분류 전체보기 (258)
      • 알고리즘 (108)
        • 자료구조 (3)
        • Java (104)
        • Python (1)
      • Back end (73)
        • Spring Project (28)
        • Java (23)
        • API (1)
        • Python (0)
        • Django (3)
        • Linux (1)
        • 서버 (2)
        • 에러로그 (11)
        • 부스트 코스 (1)
      • Front end (9)
        • HTML, CSS (4)
        • JavaScript (4)
        • JQuery (0)
      • 기타 프로그래밍 (4)
        • Android Studio (1)
        • Arduino (2)
        • Azure Fundamental(AZ-900) (1)
      • 개발도구 (24)
        • IntelliJ (2)
        • Git (12)
        • SVN (0)
        • Eclipse (2)
        • 기타 Tool (8)
      • Database (17)
        • Oracle (11)
        • MySQL (0)
        • H2 Database (3)
        • ORM & JPA (1)
      • 자격증 (10)
        • 컴활 1급 (7)
        • 컴활 2급 (2)
        • SQLD (1)
      • 기타 (13)
        • 블로그 운영 (6)
        • 문서 (1)
        • 기타 (6)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    문자열
    spring
    BOJ
    Oracle
    github
    알고리즘
    1차원 배열
    jpa
    백준
    오라클
    배열
    for문
    단계별풀기
    백준 자바
    구현
    백준알고리즘
    springboot
    solved.ac
    java
    Git
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Kim-SooHyeon
[Java] Stream의 filter() 메소드 (ft.collect())
상단으로

티스토리툴바