public class test4 {
public static void main(String[] args) {
Father[] arr = new Father[4];
Father fa = new Father(3,"aassdfasg");
arr[0] = fa;
arr[1] = new Father(2,"gdf");
arr[2] = new Father(5,"dada");
arr[3] = new Father(1,"qghdfg");
Arrays.sort(arr, new Comparator() {
@Override
public int compare(Father o1, Father o2) {
return o1.getAge() - o2.getAge();
}
});
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.binarySearch(arr, fa));
}
}
at java.base/java.util.Arrays.binarySearch0(Arrays.java:2232)
at java.base/java.util.Arrays.binarySearch(Arrays.java:2174)
at test.test4.main(test4.java:25)
二分查找 binarySearch 里的逻辑可以看下,查找的对象需要 实现Comparable 接口,并重写 compareTo 方法
可以参考 String 类
public class Father implements Comparable<Father> {
@Override
public int compareTo(Father another) {
return this.getAge() - another.getAge();
}
}
如有帮助,欢迎采纳哈!
Father类要继承Comparable类,重写comparato方法,这样才能确定哪个对象大了小了还是相等