新建一个javabean
public class Student {
private String name;
//true是正常。 false是异常
private boolean bool;
private int sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isBool() {
return bool;
}
public void setBool(boolean bool) {
this.bool = bool;
}
public int getSex() {
return sex;
}
public void setSex(int sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Student [name=" + name + ", bool=" + bool + ", sex=" + sex + "]";
}
}
创建排序类
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sort {
public static List<Student> student() {
List<Student> list=new ArrayList<Student>();
Student s1=new Student();
s1.setBool(true);
s1.setName("张三");
s1.setSex(18);
Student s2=new Student();
s2.setBool(false);
s2.setName("李四");
s2.setSex(99);
Student s3=new Student();
s3.setBool(false);
s3.setName("王五");
s3.setSex(76);
Student s4=new Student();
s4.setBool(true);
s4.setName("候六");
s4.setSex(34);
Student s5=new Student();
s5.setBool(true);
s5.setName("小七");
s5.setSex(11);
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
list.add(s5);
return list;
}
public static void main(String[] args) {
List<Student> list= Sort.student();
System.out.println("排序前:"+list);
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student o1, Student o2) {
boolean onLine1 = o1.isBool();
boolean onLine2 = o2.isBool();
//两个值进行位运算,值不同为1,为true,参与运算
//值相同为0,为false,不参与运算
if (onLine1 ^ onLine2) {
return onLine1 ? -1 : 1;
} else {
return 0;
}
}
});
System.out.println("排序后"+list);
}
}
运行结果:
排序前:[Student [name=张三, bool=true, sex=18], Student [name=李四, bool=false, sex=99], Student [name=王五, bool=false, sex=76], Student [name=候六, bool=true, sex=34], Student [name=小七, bool=true, sex=11]]
排序后:[Student [name=张三, bool=true, sex=18], Student [name=候六, bool=true, sex=34], Student [name=小七, bool=true, sex=11], Student [name=李四, bool=false, sex=99], Student [name=王五, bool=false, sex=76]]