日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 降序排序数字_如何按降序排序ArrayList Long?

發布時間:2024/1/1 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 降序排序数字_如何按降序排序ArrayList Long? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何按降序排序ArrayList ?

如何按降序排序Java中的ArrayList?

Tamara asked 2019-08-20T11:46:41Z

12個解決方案

230 votes

這是您的Collections.reverseOrder()的一種方式:

list.sort(null);

Collections.reverse(list);

或者您可以實現自己的Collections.reverseOrder()進行排序并消除相反的步驟:

list.sort((o1, o2) -> o2.compareTo(o1));

或者甚至更簡單地使用Collections.reverseOrder(),因為您只是倒車:

list.sort(Collections.reverseOrder());

WhiteFang34 answered 2019-08-20T11:47:07Z

25 votes

Comparator comparator = Collections.reverseOrder();

Collections.sort(arrayList, comparator);

u449355 answered 2019-08-20T11:47:25Z

18 votes

您可以使用下面給出的以下代碼;

Collections.sort(list, Collections.reverseOrder());

或者如果您打算使用自定義比較器,您可以使用下面給出的

Collections.sort(list, Collections.reverseOrder(new CustomComparator());

CustomComparator是比較器類,用于比較列表中存在的對象。

Balasubramanian Jayaraman answered 2019-08-20T11:48:04Z

9 votes

Java 8

在java 8中這樣做很有趣也很容易

Collections.sort(variants,(a,b)->a.compareTo(b));

Collections.reverse(variants);

Lambda表達搖滾在這里!!!

如果您需要多個線路邏輯來比較a和b,您可以這樣寫

Collections.sort(variants,(a,b)->{

int result = a.compareTo(b);

return result;

});

azerafati answered 2019-08-20T11:48:47Z

7 votes

正常排序并使用Collections.reverse();

Manoj answered 2019-08-20T11:49:12Z

2 votes

排序,然后反轉。

Mehrdad answered 2019-08-20T11:49:37Z

2 votes

實現我們自己的比較器的更通用的方法如下

Collections.sort(lst,new Comparator(){

public int compare(Long o1, Long o2) {

return o2.compareTo(o1);

}

});

josephj1989 answered 2019-08-20T11:50:02Z

2 votes

對于lamdas,你的長值是在對象的某個地方,我建議使用:

.sorted((o1, o2) -> Long.compare(o1.getLong(), o2.getLong()))

甚至更好:

.sorted(Comparator.comparingLong(MyObject::getLong))

BluE answered 2019-08-20T11:50:36Z

1 votes

通過使用Collections.sort()和一個提供降序的比較器。請參閱Javadoc for Collections.sort。

Heiko Rupp answered 2019-08-20T11:51:01Z

1 votes

以下方法將按降序對列表進行排序,并處理' null' 值,以防萬一你有任何空值,然后Collections.sort()將拋出NullPointerException

Collections.sort(list, new Comparator() {

public int compare(Long o1, Long o2) {

return o1==null?Integer.MAX_VALUE:o2==null?Integer.MIN_VALUE:o2.compareTo(o1);

}

});

Jagadeesh answered 2019-08-20T11:51:27Z

0 votes

您還可以使用TreeSet而不是comparator對ArrayList進行排序。這是我之前對整數數組的問題的一個示例。 我正在使用"數字" 作為ArrayList的占位符名稱。

import.java.util.*;

class MyClass{

public static void main(String[] args){

Scanner input = new Scanner(System.in);

ArrayList numbers = new ArrayList();

TreeSet ts = new TreeSet(numbers);

numbers = new ArrayList(ts);

System.out.println("\nThe numbers in ascending order are:");

for(int i=0; i

System.out.print(numbers.get(i).intValue()+" ");

System.out.println("\nThe numbers in descending order are:");

for(int i=numbers.size()-1; i>=0; i--)

System.out.print(numbers.get(i).intValue()+" ");

}

}

009 answered 2019-08-20T11:51:54Z

0 votes

所以,我想提出一些我認為很重要的內容,我認為你應該考慮一下。 運行時和內存。 假設您有一個列表,并希望對其進行排序,您可以,有內置排序或您可以開發自己的。 然后你說,想要反轉清單。 這就是上面列出的答案。

如果您正在創建該列表,最好使用不同的數據結構來存儲它,然后將其轉儲到數組中。

堆就是這樣做的。 您過濾數據,它將處理所有內容,然后您可以彈出對象的所有內容,它將被排序。

另一種選擇是了解地圖的工作原理。 很多時候,Map或HashMap被稱為事物,它背后有一個潛在的概念。

例如....你輸入一組鍵值對,其中鍵是長的,當你添加所有元素時,你可以這樣做:.keys它將自動返回給你一個排序列表。

這取決于您之前如何處理數據,以及我認為您應該如何繼續進行排序和后續反轉

Fallenreaper answered 2019-08-20T11:53:00Z

總結

以上是生活随笔為你收集整理的java 降序排序数字_如何按降序排序ArrayList Long?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。