❶ 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();
}
}