導航:首頁 > 編程語言 > 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降序排序相關的資料

熱點內容
ubunturoot文件夾 瀏覽:745
手機文件誤刪能否恢復數據 瀏覽:955
照片文件名中的數字代表什麼 瀏覽:44
cs6裁切工具 瀏覽:235
資料庫超過多少數據會卡 瀏覽:858
CAD落圖文件 瀏覽:125
怎樣翻譯文件內容 瀏覽:679
戴爾r910安裝linux 瀏覽:69
有線電視升級失敗 瀏覽:560
火絨安全把文件刪掉了在哪裡找 瀏覽:503
手機qq網路狀態方框 瀏覽:225
哪裡有文件紙袋 瀏覽:873
復制的東西能不能粘貼到空文件夾 瀏覽:876
酒店沒有網路如何繳費 瀏覽:380
win10開機滾動很久 瀏覽:520
可對元數據實例進行的操作有什麼 瀏覽:934
什麼後綴的文件kit 瀏覽:295
word行書字體庫下載 瀏覽:579
iosuc版本歷史版本 瀏覽:14
電影字幕文件製作軟體 瀏覽:723

友情鏈接