[英]How to sort an arraylist with different data type in java
我有一個包含下一個數據的數組列表:一個對象的名稱和一些關於他的詳細信息(讓我們以一本書和他的價格為例)。 所以我們會有:
其中數字 5、8、4 代表每本書的價格。 我怎樣才能按價格降序對這個數組進行排序,並得到這樣的最終輸出:
創建一個對象 Book 來表示名稱和價格。 然后創建所有書籍的集合。 然后我們使用比較整數值的比較器按價格排序。 然后我們收集到一個列表,因為它是排序的。
static class Book {
private final String name;
private final int price;
Book(String name, int price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
}
List<Book> books = Arrays.asList(
new Book("Book_Nr1_Name", 5),
new Book("Book_Nr2_Name", 8),
new Book("Book_Nr3_Name", 4));
List<Book> sortedByPrice = books.stream()
.sorted(Comparator.comparingInt(Book::getPrice).reversed())
.collect(Collectors.toList());
嘗試這個 :-
Collections.sort(al, (ob1,ob2)-> -ob1.getPrice().compareTo(ob2.getPrice()))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.