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