簡體   English   中英

在 Java 中按多個其他列表對列表進行排序

[英]Sort a list by multiple other lists in Java

我有多個相同大小的列表,需要按所有其他列表對其中一個列表進行排序。 可以傳入的列表數量沒有限制,並且它們的順序很重要。 此外,用戶可能希望對列表進行升序或降序排序。 例如,某人可能希望首先按年齡降序對人員列表進行排序,如果他們的年齡相同,則按他們的名字升序排序。

List people = List.of("John Doe", "Jane Doe", "Abe Smith")
List ages = List.of(20, 25, 20)
List firstNames = List.of("John", "Jane", "Abe")

sort(people, ages, "desc", firstNames, "asc")

Result: ["Jane Doe", "Abe Smith", "John Doe"]

編輯:用戶可以按他們想要的任何其他列表對他們想要的任何列表進行排序,只要它們的大小都相同。 不僅僅是人。 這只是他們可能想要排序的數據類型的一個例子。

  • 創建一個通用函數 f(people, list1, desc, list2, asc ....)
  • 將 hashMap 對象存儲為鍵和值 list1、list2 並創建 myComprator 類並按值排序。

在我看來,您采用的方法不會幫助您轉換為 People 類並將所有財產都包含在 #Michael 提到的內部

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM