상세 컨텐츠

본문 제목

[Stream] finding operation

기록 - 프로그래밍/Java

by wjjun 2020. 7. 30. 07:10

본문

finding operation

스트림 요소에서 일차하는 요소를 찾아 반환합니다.

  private List<Student> list;

  @Before
  public void createObject() {
    list = new ArrayList<>();
    list.add(new Student("kay", 20, "A"));
    list.add(new Student("Min", 25, "B"));
    list.add(new Student("Hun", 21, "C"));
    list.add(new Student("Jun", 44, "B"));
    list.add(new Student("Joo", 30, "C"));
  }

findFirst()

스트림에서 일치하는 요소 중 첫 번째 요소를 찾아야 하므로 병렬 스트림을 사용하면 속도가 느려집니다.

  @Test
  public void findFirst() {
    Optional<Student> students = list.stream()
        .filter(s -> s.getCourse().equals("C"))
        .findFirst();

    if (students.isPresent()) {
      System.out.println(students);
    }
  }

  ---출력결과---
  Optional[Student{name='Hun', age=21', course=C}]

findAny()

어떤 요소든 일치하는 요소만 찾아 반환하면 되므로 병렬 스트림을 사용하여 속도를 높일 수 있습니다.

  @Test
  public void findAny() {
    Optional<Student> student = list.stream()
        .filter(s -> s.getCourse().equals("C"))
        .findAny();

    if (student.isPresent()) {
      System.out.println(student);
    }
  }

  ---출력결과---
  Optional[Student{name='Hun', age=21', course=C}]

'기록 - 프로그래밍 > Java' 카테고리의 다른 글

[Stream] collect method  (0) 2020.08.04
[Stream] collect method  (0) 2020.07.31
[Stream] reduce method  (0) 2020.07.29
[Stream] Match method  (0) 2020.07.28
[Stream] slice method  (0) 2020.07.27

관련글 더보기

댓글 영역