[SECTION18. Java Stream 기초]
● Java Stream = 컬렉션(List, Set 등)을 “선언형 방식”으로 처리하는 기능
예시:
package exam05.exam0521;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Exam01 {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("유신영", 27, 100));
students.add(new Student("아구몬", 28, 85));
students.add(new Student("피카츄", 30, 98));
for (Student s : students) {
if (s.getScore() >= 90) {
System.out.println(s.getName());
}
}
for (int i = 0; i < students.size(); i++) {
if (students.get(i).getScore() >= 90) {
System.out.println(students.get(i).getName());
}
}
Iterator<Student> iter = students.iterator();
while(iter.hasNext()) {
System.out.println(iter.next().getName());
}
}
}
예시:
package exam05.exam0521;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Stream;
public class Exam01 {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("파이썬", 20, 100));
students.add(new Student("자바", 19, 88));
students.add(new Student("한코딩", 33, 92));
students.stream()
.filter(s -> s.getScore() >= 90)
.forEach(s -> System.out.println(s.getName()));
}
}
컬렉션.stream()
.중간연산1()
.중간연산2()
.중간연산3()
.최종연산();
List<Integer> numbers = List.of(1, 2, 3, 4, 5);
numbers.stream()
.filter(n -> n % 2 == 0)
.forEach(System.out::println);
출력:
2
4
numbers.stream()
.map(n -> n * 2)
.forEach(System.out::println);
출력:
2 4 6 8 10
numbers.stream()
.sorted()
.forEach(System.out::println);
long count = numbers.stream()
.filter(n -> n > 3)
.count();
System.out.println(count);
| 메서드 | 설명 |
|---|---|
| filter | 조건 필터 |
| map | 변환 |
| sorted | 정렬 |
| count | 개수 |
| collect / toList | 결과 수집 |
| forEach | 반복 출력 |



