Java 스트림의 중간연산
by 볼빵빵오춘기스트림의 중간연산
- 스트림 자르기 - skin(), limit()
- 스트림의 요소 걸러내기 - filter(), distinct()
- 스트림 정렬하기 - sorted()
더보기
⇒ 정렬 시 필요 요소 : 1. 정렬 대상 2. 정렬 기준
- Comparator의 comparing()으로 정렬 기준을 제공
- 추가 정렬 기준을 제공할 떄는 themComparing()을 사용
예제 코드
더보기
import java.util.*;
import java.util.stream.*;
class Ex14_5 {
public static void main(String[] args) {
Stream<Student> studentStream = Stream.of(
new Student("이자바", 3, 300),
new Student("김자바", 1, 200),
new Student("안자바", 2, 100),
new Student("박자바", 2, 150),
new Student("소자바", 1, 200),
new Student("나자바", 3, 290),
new Student("감자바", 3, 180)
);
studentStream.sorted(Comparator.comparing(Student::getBan) // 반별 정렬
.thenComparing(Comparator.naturalOrder())) // 기본 정렬
.forEach(System.out::println);
}
}
class Student implements Comparable<Student> {
String name;
int ban;
int totalScore;
Student(String name, int ban, int totalScore) {
this.name =name;
this.ban =ban;
this.totalScore =totalScore;
}
public String toString() {
return String.format("[%s, %d, %d]", name, ban, totalScore);
}
String getName() { return name;}
int getBan() { return ban;}
int getTotalScore() { return totalScore;}
// 총점 내림차순을 기본 정렬로 한다.
public int compareTo(Student s) {
return s.totalScore - this.totalScore;
}
}
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java 스트림의 최종연산 (0) | 2023.12.11 |
---|---|
Java 스트림의 중간연산2 (0) | 2023.12.11 |
Java 스트림의 연산 (0) | 2023.12.11 |
Java 스트림 만들기 (1) | 2023.12.11 |
Java 스트림(Stream), 스트림의 특징 (0) | 2023.12.11 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기