package work2;
import java.util.Arrays;
import java.util.Comparator;
public class ComparatorDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Cat[] cat = {new Cat("小黑","黑色",2),new Cat("小花","花色",1),new Cat("逗比","红色额",5),new Cat("小淘气","黑色",3)};
Arrays.sort(cat, new CatComparator());
System.out.println(Arrays.toString(cat));
}
}
class CatComparator implements Comparator{
@Override
public int compare(Cat cat1, Cat cat2) {
// TODO Auto-generated method stub
if(cat1.getAge() > cat2.getAge()){
return 1;
}else if(cat1.getAge() < cat2.getAge()){
return -1;
}
return 0;
}
}
class Cat{
private String name;
public Cat(String name, String color, int age) {
this.name = name;
this.color = color;
this.age = age;
}
private String color;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
@Override
public String toString() {
return "Cat [name=" + name + ", color=" + color + ", age=" + age + "]";
}
public void setColor(String color) {
this.color = color;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package work2;
import java.util.Arrays;
import java.util.TreeSet;
public class ComparableDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Dog[] dog = {new Dog("小黑",2,20),new Dog("小花",1,20),new Dog("小斗",3,20),new Dog("大黑",5,20),new Dog("小逗比",6,20)};
// Arrays.sort(dog);
// System.out.println(Arrays.toString(dog));
TreeSet dog = new TreeSet();
dog.add(new Dog("小黑",2,20));
dog.add(new Dog("小花",1,20));
dog.add(new Dog("小斗",3,20));
dog.add(new Dog("大黑",5,20));
dog.add(new Dog("大黑",5,30));
System.out.println(dog);
}
}
class Dog implements Comparable{
private String name;
private int age;
@Override
public String toString() {
return "Dog [name=" + name + ", age=" + age + ", weight=" + weight
+ "]";
}
private int weight;
public Dog(String name, int age, int weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
@Override
public int compareTo(Object obj) {
// TODO Auto-generated method stub
Dog dog = (Dog)obj;
if(this.age>dog.age){
return 1;
}else if(this.age
return -1;
}else{
if(this.weight > dog.weight){
return 1;
}else if(this.weight < dog.weight){
return -1;
}
}
return 0;
}
}