下面这段算法四里面的java排序代码怎么修改呢?我要想让支持泛型

图片说明

0

4个回答

那你就写成

Comparator<T> []

就行了
然后调用 接口里面的 compare 方法判断大小进行排序 代替你代码里面的那个less

最终使用的时候,也就是生成

Comparator<T> []

数组时候,需要指定具体的类型
此时这个 具体的类需要实现 Comparator 接口也就是实现 compare 方法使用什么标准来判断大小
例如
图片说明

0

这个代码只是数字排列的,泛型排序需要实现Comparable接口,也可以用Collections集合工具

0

首先,要理清楚你代码的思路,按你上面写的代码的意思应该是想排序各种基本类型的数组,但你的方法参数是Comparable接口的数组,
也就是说你传入的数据的数据类型必须是已经implements Comparable接口的类型,显然,基本类型并不是类,所以是类型不对应。
正确的思路应该是:
第一,我需要排序一个数组(元素类型任意)
第二,排序的规则如何确定(比如我是想正序还是倒序,还是需要根据特定的某个属性来排序(针对对象的排序))
所以,按这个思路。sort的参数应该是两个,第一个就是你需要传入的数组,第二个就是排序的算法(暂且这么叫)。
可以直接使用Collections.sort方法了,或者你可以参考此方法的思路写自己的。

0

实现comparable本质就是定义一个比较的标准,将哪一个值作为比较的标准,然后根据结果返回不同的;实现接口之后,就可以直接用sort对这个对象进行排序了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!