导航:首页 > 编程语言 > java降序排序

java降序排序

发布时间:2024-11-15 09:36:19

java数组sort()方法降序怎么排

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]+" ");

}

}

}

❷ Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法

Arrays.sort( )方法一个参数默认是升序排列,你要降序排列第一种方法调用重载的2个参数的Arrays.sort( T[]a,Comaparator c)才行,第二个参数需要自定义一个比较器类实现Comaparator接口,根据需要重新compare方法。
第二种方法先进行升序排列,再调用Arrays的asList方法转换成数组,然后调用Collections的reverse方法倒序排列,最后调用Collection的toArray方法转换成数组。

❸ java compare 降序/升序怎么确定

先举个例子

1 2 5 3 6 9 7

从大家的认知来看,上面的数字从小到大为

1 2 3 5 6 7 9

但是如果是一对的字符串或者对象呢?

那么就需要Comparator来自定义字符串或对象的比较方法,来排序了。

aa bb cc cc ab

如果你在Comparator中自定义c是大于b b是大于a的 那么

降序排序就是

aa ab bb cc cc

对于public int compare(Object arg0, Object arg1)的理解

如果放回1 说明arg0 > arg1 如 2 1

如果放回0 说明arg0= arg1 如cc cc

如果放回-1 说明arg0< arg1 如6 7

所以如果你希望

1 2 5 3 6 9 7 的排序变成 离5最接近的先输出那么如下代码(降序)

publicintcompare(Objectarg0,Objectarg1){
Integercd1=(Integer)arg0;
Integercd2=(Integer)arg1;
if(Math.abs(5-cd1)-Math.abs(5-cd2)>0)
return1;
if(Math.abs(5-cd1)-Math.abs(5-cd2)==0)
return0;
if(Math.abs(5-cd1)-Math.abs(5-cd2)<0)
return-1;
}

❹ JAVA中如何使用SORT从大到小排.

在排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator
实现方法 public int compare(Object o1, Object o2) 最为重要..

举个例子:
package book.arrayset;

import java.util.Comparator;

/**
* 整数比较器,将整数按降序排列
*/
class MyIntComparator implements Comparator{

/**
* o1比o2大,返回-1;o1比o2小,返回1。
*/
public int compare(Object o1, Object o2) {
int i1 = ((Integer)o1).intValue();
int i2 = ((Integer)o2).intValue();
if (i1 < i2){
return 1;
}
if (i1 > i2){
return -1;
}
return 0;
}
}

//上面的为比较的函数实现,下面真正的添加数据,

//通过调用上面的比较函数实现自定义排序的功能

package book.arrayset;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
* 对List中的元素排序
*/
public class SortList {

public static void output(List list){
if (list == null){
return;
}
for (int i=0; i<list.size(); i++){
System.out.print(list.get(i).toString() + " ");
}
System.out.println();
}

public static void main(String[] args) {
List list = new ArrayList();
list.add(new Integer(5));
list.add(new Integer(8));
list.add(new Integer(1));
list.add(new Integer(3));
list.add(new Integer(2));
list.add(new Double(3.1));
System.out.println("list开始状态");
SortList.output(list);
//Collections.sort方法将用默认比较器排列list的元素
Collections.sort(list);
System.out.println("list被默认比较器排序后的状态");
SortList.output(list);
//下面将list的元素按降序排列
Collections.sort(list, new MyIntComparator());
System.out.println("list被自定义比较器排序后的状态");
SortList.output(list);

//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,
//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。
//然后采用Collections.sort(list, comparator);方法对容器进行排序。
}
}

❺ (java)生成50个1到100之间的随机数,并且对其中的偶数进行降序排列

public static void main(String[] args) {
int a[][] = new int[2][50]; //用二维数组保存,偶数和奇数就可以分开了
int j=0; //奇数行的计数
int k=0; //偶数行的计数
int count=0;
while(count<50){
int num=(int)(Math.random()*100);
if(num==0) continue;
else if(num%2==0){
a[0][k]=num;
k++;
count++;
}
else{
a[1][j]=num;
j++;
count++;
}
} //随机数已经保存好了,接下来就是排序了
//---------------------------冒泡排序,书上肯定有的------------------
int ex;
for(int i=0;i<k-1;i++){
ex=0;
for(int z=k-2;z>=i;z--){
if(a[0][z+1]>a[0][z]){
int temp=a[0][z+1];
a[0][z+1]=a[0][z];
a[0][z]=temp;
ex=1;
}
if(ex!=0){
continue;
}
}
}
System.out.println("偶数排序后的结果:");
for(int i=0;i<k;i++){
System.out.print(a[0][i]+" ");
}
// 如果不想自己实现排序逻辑的话,用集合比较方便
List list=new LinkedList();
for(int i=0;i<k;i++){
list.add(a[0][i]);
}
//Collections集合的帮助类,可以对集合进行很多操作
Collections.sort(list); //升序
Collections.reverse(list);//倒序
System.out.println("排序后: "+list);

}
肯定还有很多方法,要我写的话就这样了

❻ java 输入字符串 输出升序和降序排序结果

import java.util.Arrays;
import java.util.Scanner;

public class TestSort {
public static void sortTest(){
System.out.println("Please input number, split with ',':");
Scanner in=new Scanner(System.in);
String readLine = in.nextLine(); //读取键盘输入的一行(以回车换行为结束输入)
String[] input = readLine.split(",");//将输入的字符串根据','划分为数组,比如12,11,43,100,333,4,55 = [12,11,43,100,333,4,55]
System.out.println("Before sort : " + Arrays.toString(input));
Arrays.sort(input);//Arrays.sort()方法是java提供的数组排序,可以直接使用
System.out.println("After sort : " + Arrays.toString(input));
}

public static void main(String...args){
sort();

}
}

阅读全文

与java降序排序相关的资料

热点内容
ps入门必备文件 浏览:348
以前的相亲网站怎么没有了 浏览:15
苹果6耳机听歌有滋滋声 浏览:768
怎么彻底删除linux文件 浏览:379
编程中字体的颜色是什么意思 浏览:534
网站关键词多少个字符 浏览:917
汇川am系列用什么编程 浏览:41
笔记本win10我的电脑在哪里打开摄像头 浏览:827
医院单位基本工资去哪个app查询 浏览:18
css源码应该用什么文件 浏览:915
编程ts是什么意思呢 浏览:509
c盘cad占用空间的文件 浏览:89
不锈钢大小头模具如何编程 浏览:972
什么格式的配置文件比较主流 浏览:984
增加目录word 浏览:5
提取不相邻两列数据如何做图表 浏览:45
r9s支持的网络制式 浏览:633
什么是提交事务的编程 浏览:237
win10打字卡住 浏览:774
linux普通用户关机 浏览:114

友情链接