建一个List,添加对象元素,以对象的属性为标准,进行排序。
Employee:
package com.itheima1;
public class Employee implements Comparable<Employee>{
private int id;
private String name;
private int age;
public Employee(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
@Override
public int compareTo(Employee o) {
if(id > o.id){
return 1;
}
else if(id < o.id){
return -1;
}
return 0;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Employee{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}
MyCompare:
package com.itheima1;
import java.util.Comparator;
public class MyCompare implements Comparator<Employee> {
@Override
public int compare(Employee o1, Employee o2) {
if(o1.getName().compareTo(o2.getName()) > 0){
return 1;
}
else if (o1.getName().compareTo(o2.getName()) < 0){
return -1;
}
else
return 0;
}
}
Main:
package com.itheima1;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Employee> list = new ArrayList<>();
list.add(new Employee(3,"Java",21));
list.add(new Employee(2,"C++",34));
list.add(new Employee(1,"Python",15));
System.out.println("排序前:");
for(Employee employee : list){
System.out.println(employee);
}
System.out.println("以id为标准排序后:");
Collections.sort(list);
for(Employee employee : list){
System.out.println(employee);
}
System.out.println("以name为标准排序后:");
Collections.sort(list,new MyCompare());
for(Employee employee : list){
System.out.println(employee);
}
}
}