import java.util.Comparator;
/**
* @author shkstart
* @create 2021-09-14 8:43
*/
public class Persontest implements Comparable{
private String name;
private int age;
private String sex;
public Persontest() {
}
public Persontest(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Persontest{" +
"name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
@Override
public int compareTo(Object o) {
if(o instanceof Persontest){
Persontest p=(Persontest)o;
return this.getName().compareTo(p.getName());
}
return 0;
}
}
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* @author shkstart
* @create 2021-09-14 8:43
*/
public class ListSort {
Comparator comparator=new Comparator() {
@Override
public int compare(Object o1, Object o2) {
if(o1 instanceof Persontest && o2 instanceof Persontest){
Persontest p1=(Persontest)o1;
Persontest p2=(Persontest)o2;
return p1.compareTo(p2);
}
return 0;
}
};
@Test
public void test1(){
List<Persontest> list=new ArrayList();
Persontest p1=new Persontest("ww",18,"男");
Persontest p2=new Persontest("zz",18,"男");
Persontest p3=new Persontest("aa",18,"男");
list.add(p1);
list.add(p2);
list.add(p3);
System.out.println("排序前");
for (Persontest ps:list) {
System.out.println(ps);
}
Collections.sort(list,comparator);
System.out.println("排序后");
for (Persontest ps:list) {
System.out.println(ps);
}
}
}
根据名字排序 前后的结果