Backend
////////
home
📝

stream 예제 코드 10 - sort(정렬)

Student.java
package com.stream11; import lombok.AllArgsConstructor; import lombok.Data; @Data @AllArgsConstructor public class Student implements Comparable<Student> { private String name; private int score; @Override public int compareTo(Student o) { return Integer.compare(score, o.score); // return score - o.score; } }
Java
복사
Student.java
package com.stream11; import lombok.AllArgsConstructor; import lombok.Data; @Data @AllArgsConstructor public class Student implements Comparable<Student> { private String name; private int score; @Override public int compareTo(Student o) { return Integer.compare(score, o.score); // return score - o.score; } }
Java
복사
SortExample.java
package com.stream11; import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class SortExample { public static void main(String[] args) { List<Student> sList = new ArrayList<>(); sList.add(new Student("박명수", 60)); sList.add(new Student("유재석", 100)); sList.add(new Student("정준하", 40)); sList.stream() .sorted() .forEach(s -> System.out.println(s)); System.out.println(); sList.stream() .sorted(Comparator.reverseOrder()) // 역순으로 출력 .forEach(s -> System.out.println(s)); } }
Java
복사
SortExample.java (람다식을 활용한 정렬)
package com.stream12; import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class SortExample { public static void main(String[] args) { List<Student> sList = new ArrayList<>(); sList.add(new Student("박명수", 60)); sList.add(new Student("유재석", 100)); sList.add(new Student("정준하", 40)); sList.stream() .sorted((s1, s2) -> s1.getScore() - s2.getScore()) .forEach(s -> System.out.println(s)); System.out.println(); sList.stream() .sorted((s1, s2) -> s2.getScore() - s1.getScore()) .forEach(s -> System.out.println(s)); } } package com.stream12; import lombok.AllArgsConstructor; import lombok.Data; @Data @AllArgsConstructor public class Student { private String name; private int score; }
Java
복사