package com.study.p1;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.*;
/**
* @author liupeng
* @date 2022-03-16 20:30
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PersonTest implements Comparable<PersonTest> {
private Integer id;
private Integer age;
private String name;
/**
* 根据年龄降序,年龄相同时,根据姓名进行升序
* @param p
* @return
*/
@Override
public int compareTo(PersonTest p) {
int compare = this.getAge().compareTo(p.getAge());
if (compare != 0) {
// return compare; 升序
return - compare; //降序
} else {
return this.getName().compareTo(p.getName());
}
}
public static void main(String[] args) {
PersonTest p1 = new PersonTest(1, 18, "ab");
PersonTest p2 = new PersonTest(2, 20, "cd");
PersonTest p3 = new PersonTest(3, 18, "ac");
PersonTest p4 = new PersonTest(4, 30, "zs");
PersonTest p5 = new PersonTest(5, 17, "ad");
//ArrayList<PersonTest> personTests = new ArrayList<>();
List<PersonTest> personTests = new ArrayList<>();
personTests.add(p1);
personTests.add(p2);
personTests.add(p3);
personTests.add(p4);
personTests.add(p5);
Collections.sort(personTests);
personTests.forEach(System.out::println);
}
}
结果: