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

熱點內容
將所有文件名導入資料庫 瀏覽:856
查看linux伺服器使用情況 瀏覽:177
日版iphone5蜂窩數據 瀏覽:336
淄博淄博兼職女微信群 瀏覽:374
px轉sp在線工具 瀏覽:538
addhandlerjs 瀏覽:440
qq個性名片霸氣圖片大全 瀏覽:957
背調公司和哪些官方資料庫對接 瀏覽:389
手機私人珍藏文件夾在哪裡 瀏覽:254
編程文檔在哪裡 瀏覽:591
c編程怎麼轉行 瀏覽:797
家庭網路連接設置 瀏覽:371
linux開機啟動 瀏覽:637
哪個app有拼音樂 瀏覽:226
qq音樂微信朋友圈 瀏覽:542
手機文件里的word文檔 瀏覽:348
手機微博舊版本 瀏覽:964
ps安裝文件夾刪除需要許可權 瀏覽:289
怎麼搜索手機中視頻文件 瀏覽:232
java判斷是偶數 瀏覽:860

友情鏈接