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;
}
}