StreamEx 08-ソート()
13880 ワード
<Student class>
package day15;
public class Student implements Comparable<Student> {
private String name;
private int score;
public Student(String name, int score) {
this.name = name; this.score = score;
}
public String getName() {return name; }
public int getScore() { return score; }
// Comparable 인터페이스 추상메서드 오버라이딩
@Override
public int compareTo(Student o) {
return name.compareTo(o.name);
//return Integer.compare(score, o.score);
// score < o.score : 음수
// score == o.score : 0
// score > o.score : 양수 리턴
}
}
-----------------------------------------------------------------------
<StreamEx08 class>
package day15;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.IntStream;
public class StreamEx08 {
public static void main(String[] args) {
// 숫자
IntStream intStream = Arrays.stream(new int[] {5,3,2,4,1});
intStream
.sorted()
.forEach(n -> System.out.println(n));
System.out.println();
// 객체 요소일 경우
List<Student> stdList = Arrays.asList(
new Student("ccc", 20),
new Student("bbb", 10),
new Student("aaa", 30)
);
stdList.stream()
.sorted()
.forEach(s -> System.out.println(s.getScore() + " " + s.getName()));
System.out.println();
stdList.stream()
.sorted(Comparator.reverseOrder())
.forEach(s -> System.out.println(s.getScore() + " " + s.getName()));
System.out.println();
}
}
Reference
この問題について(StreamEx 08-ソート()), 我々は、より多くの情報をここで見つけました https://velog.io/@jonny77/StreamEx08-정렬-sortedテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol