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?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python批量下载b站_PYTHON批
- 下一篇: 如何编写优秀软件