java中array的sort方法 Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?
java中对数组升序排列用arrays.sort()方法,那降序排列用什么方法?
如果实现可比较接口的类执行intcompareto(objecto)方法,则返回1的类将放在它后面。例如,类a实现了可比较的接口,类a有a1和a2对象。如果a1的值。compareto(a2)为1,表示a1>a2,sort后跟a2和a1
java中arrays类的sort方法默认是对基本数据类型按升序排序,如sort(int[]arr)和sort(double[]jdkapi中有如下内容:
如图所示,倒数第二行和第三行中的对象数组排序也是默认的升序,但是在输入这行代码之前,需要为要排序的对象数组完成一个可比较的接口。以此为标准进行排序。详见下图:~数组.排序方法的一个参数默认按升序排列。您希望按降序排列第一个方法重载的两个参数数组.排序对于第二个参数,您需要自定义一个comparator类来实现comacomparator接口,并根据需要重置compare方法。]第二种方法首先按升序进行,然后调用数组的aslist方法将其转换为数组,然后调用集合的reverse方法将其按逆序排列,最后调用集合的toarray方法将其转换为数组。
为什么java的arrays类的sort方法对对象数组采用合并排序,而对基本类型数组却采用快速排序?
这类问题一般看源代码是最直接的解决方案。阅读源代码之后,您应该了解sort方法将元素转换为可比较的类型,然后调用compareto方法。因此,我们必须实现comparable接口并提供compareto方法。此外,这是面向接口的好处。希望对你有所帮助,哦(∩)谢谢
原文标题:java中array的sort方法 Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?,如若转载,请注明出处:https://www.saibowen.com/tougao/21013.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。