java数组sort()方法降序怎么排
比如一个数组名int[]height={1,2,3,4,5,}sort()方法给他排升序Arrays.sort(height)结果为12345如果要给它排降序为54321...
比如 一个数组 名int[] height = {1,2,3,4,5,} sort()方法给他排升序Arrays.sort(height)
结果为12345如果要给它排降序为54321怎么写? 展开
结果为12345如果要给它排降序为54321怎么写? 展开
6个回答
展开全部
java数组sort()方法降序方式:
用Arrays类sort()对数组元素进行降序排列
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);
System.out.println("/n");
System.out.println("降序排列:");
for (int i=vec.length-1;i>=0 ;i-- )
{
System.out.print(vec[i]+" ");
}
}
}
展开全部
三步:
通过Arrays.asList(height);转为list型
通过Collections.sort(list);升序排列
通过Collections.reverse(list);反向排序, 就是降序了
自定义接口也要写好多代码, 不如这个来的简洁.
如果觉得检索大数据会慢, 那就自己写冒泡吧二叉什么排序吧~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看了一下Arrays这个类 貌似没有降序排序这个方法,Collections这个类里有个方法可以实现
public class TestToArray {
public static void main(String[] args) {
//int[] height = {1,2,3,4,5,}
ArrayList<Integer> list2=new ArrayList<Integer>();
for(int i=1;i<=5;i++)
{
list2.add(i);
}
Collections.reverse(list2);
for(int i=0; i<list2.size(); i++)
System.out.println(list2.get(i));
}
}
运行结果:
C:\Users\ZhangJun\Desktop\桌面文档\TestMethod>java TestToArray
5
4
3
2
1
不要意思 我这个只是实现了翻转顺序 并未排序 但是用Collections那个类的一些方法应该就能实现 稍后给你写
public class TestToArray {
public static void main(String[] args) {
//int[] height = {1,2,3,4,5,}
ArrayList<Integer> list2=new ArrayList<Integer>();
for(int i=1;i<=5;i++)
{
list2.add(i);
}
Collections.reverse(list2);
for(int i=0; i<list2.size(); i++)
System.out.println(list2.get(i));
}
}
运行结果:
C:\Users\ZhangJun\Desktop\桌面文档\TestMethod>java TestToArray
5
4
3
2
1
不要意思 我这个只是实现了翻转顺序 并未排序 但是用Collections那个类的一些方法应该就能实现 稍后给你写
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用Arrays类sort()对数组元素进行降序排列:
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);
System.out.println("/n");
System.out.println("降序排列:");
for (int i=vec.length-1;i>=0 ;i-- )
{
System.out.print(vec[i]+" ");
}
}
}
import java.util.Arrays;
class SortDemo
{
public static void main(String[] args)
{
int[] vec={0,15,-14,45,20,70};
Arrays.sort(vec);
System.out.println("/n");
System.out.println("降序排列:");
for (int i=vec.length-1;i>=0 ;i-- )
{
System.out.print(vec[i]+" ");
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个要实现Comparator接口,
import java.util.Arrays;
import java.util.Comparator;
public class Dog {
public static void main(String[] args) {
int[] height = {1,2,3,4,5, 7};
Integer[] heightIntegerAry = new Integer[height.length];
for(int i = 0; i < height.length; i++){
heightIntegerAry[i] = new Integer(height[i]);
}
Arrays.sort(heightIntegerAry, new IntValueComprator());
}
}
class IntValueComprator implements Comparator {
public int compare(Object arg0, Object arg1) {
int first = ((Integer)arg0).intValue();
int second = ((Integer)arg0).intValue();
if(first > second){
return 1;
}else{
return 2;
}
}
}
import java.util.Arrays;
import java.util.Comparator;
public class Dog {
public static void main(String[] args) {
int[] height = {1,2,3,4,5, 7};
Integer[] heightIntegerAry = new Integer[height.length];
for(int i = 0; i < height.length; i++){
heightIntegerAry[i] = new Integer(height[i]);
}
Arrays.sort(heightIntegerAry, new IntValueComprator());
}
}
class IntValueComprator implements Comparator {
public int compare(Object arg0, Object arg1) {
int first = ((Integer)arg0).intValue();
int second = ((Integer)arg0).intValue();
if(first > second){
return 1;
}else{
return 2;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询