From bfd4325ca5e24ffbc7f656efda9ee30365f2b1bc Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Tue, 3 Feb 2026 15:26:40 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day04-=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E5=88=86=E6=9E=90=EF=BC=88=E9=87=8D=E7=82=B9?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/inmind/interface_return03/Demo12.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 javaSE-day04/src/com/inmind/interface_return03/Demo12.java diff --git a/javaSE-day04/src/com/inmind/interface_return03/Demo12.java b/javaSE-day04/src/com/inmind/interface_return03/Demo12.java new file mode 100644 index 0000000..308afbd --- /dev/null +++ b/javaSE-day04/src/com/inmind/interface_return03/Demo12.java @@ -0,0 +1,38 @@ +package com.inmind.interface_return03; + +import java.util.Arrays; +import java.util.Comparator; +import java.util.Objects; + +/* +扩展-接口回调:我们可以通过接口回调的方式,将我们自定义的一些业务操作集成到底层源码中 + */ +public class Demo12 { + public static void main(String[] args) { + Integer[] arr = {70,61,55,34,23}; + sort(arr, new Comparator() { + @Override + public int compare(Integer o1, Integer o2) { +// return o1-o2;//升序 + return o2-o1;//降序 + } + });//默认升序的,但是我希望是降序怎么办???可以使用接口回调,将我们的业务嵌套到源码中 + System.out.println(Arrays.toString(arr)); + + } + + //自定义一个类似Collections.sort方法,对整数数组进行排序的功能 + public static void sort(A[] arr, Comparator comparator) { + for (int i = 0; i < arr.length - 1; i++) {//外层循环的趟数 + for (int j = 0; j < arr.length - 1 - i; j++) {//内层循环的次数 + //内层循环在比较时,相邻的2个比较,大的往后替换 + if (comparator.compare(arr[j],arr[j + 1]) > 0) { +// if (arr[j] -arr[j + 1] < 0) { + A temp = arr[j];//记录较大的值 + arr[j] = arr[j + 1];//将较小的值靠前 + arr[j+1] = temp; + } + } + } + } +}