定义Dog数组并通过接口排序-方法1/2
方法一:
package com.iit.demo;
import java.util.Arrays;
import java.util.Comparator;
// MyComparator类有一个能力(实现了接口 = has一种能力)
// 对两个Dog对象进行判断:按age属性。
class MyComparator implements Comparator<Dog>{
@Override
public int compare(Dog o1, Dog o2) {
return o2.getAge()-o1.getAge();
}
}
public class DemoArray {
public static void main(String[] args) {
Dog[] dogs = new Dog[5];
int index = 0;
dogs[index++] = new Dog("大黑1",15);
dogs[index++] = new Dog("大黑2",13);
dogs[index++] = new Dog("大黑3",11);
dogs[index++] = new Dog("大黑4",9);
dogs[index++] = new Dog("大黑5",3);
//方法一
//Arrays.sort(dogs,new MyComparator());
//方法二 匿名内部类
/*
Arrays.sort(dogs, new Comparator<Dog>() {
@Override
public int compare(Dog o1, Dog o2) {
return o1.getAge()-o2.getAge();
}
});
//*/
//方法三:用lambda优化 - 流行
Arrays.sort(dogs, (o1, o2) -> o1.getAge()-o2.getAge());
for(Dog d:dogs){
System.out.println(d);
}
}
}
package com.iit.demo; public class Dog { private String name; private int age; public Dog(){} public Dog(String name, int age) { this.name = name; this.age = age; } 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; } @Override public String toString() { return "Dog{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
本文来自博客园,作者:xiaoyongdata(微信号:xiaoyongdata),转载请注明原文链接:https://www.cnblogs.com/xiaoyongdata/p/16333352.html
浙公网安备 33010602011771号