List(Collections framework)에 담겨 있는 객체를 특정 필드를 기준으로 정렬하기 위해
Comparable 인터페이스와 Collections.sort()를 사용한다.
public class Content implements Comparable<Content> {
private String title;
private String description;
private int price;
public Content(String title, String description, int price) {
this.title = title;
this.description = description;
this.price = price;
}
@Override
public int compareTo(Content c) {
return price - c.price;
}
}
List<Content> contentList = new ArrayList<>();
contentList.add(new Content("t1","d1",300);
contentList.add(new Content("t2","d2",500);
contentList.add(new Content("t3","d3",100);
Collections.sort(contentList);
참고
https://siyoon210.tistory.com/21
https://choichumji.tistory.com/119
package hyu_memento.memento_back.controller.dto;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import java.time.LocalTime;
@Getter
@NoArgsConstructor
public class DayDto implements Comparable<DayDto> {
private LocalTime time;
private String title;
private String description;
@Builder
public DayDto(LocalTime time, String title, String description) {
this.time = time;
this.title = title;
this.description = description;
}
@Override
public int compareTo(DayDto d) {
int i = time.toSecondOfDay();
int j = d.getTime().toSecondOfDay();
return i-j;
}
}