我有一個包含hashmaps和幾個鍵/值對的數組列表。其中一個鍵/值對包含鍵「Order」,值爲int。我如何根據它包含的hashmaps的「Order」鍵來排列數組列表? (我能做到這一點的一個字符串值,但不是一個int值),我能想到的使用int值對散列表進行ArrayList排序
-1
A
回答
4
像這樣的事情會做到這一點:
List<Map<String, Integer>> list = new ArrayList<Map<String, Integer>>();
Collections.sort(list, new Comparator<Map<String, Integer>>() {
final static String COMPARE_KEY = "Order";
@Override
public int compare(Map<String, Integer> lhs, Map<String, Integer> rhs) {
Integer v1 = lhs.get(COMPARE_KEY);
Integer v2 = rhs.get(COMPARE_KEY);
return v1 < v2 ? -1 : v1 > v2 ? 1 : 0;
}
});
0
一種方法是保持HashMap
一些自定義類的屬性,並創建List
爲List<CustomClass>
。然後,您可以讓您的CustomClass
執行Comparable
或具有Comparator
進行此自定義排序。在這種情況下排序會更容易。
或定義一個Comparator
比較兩個Map
對象並在Collections.sort()
中使用它。
public class MyCustomComparator implements Comparator<Map <String, Integer>>
{
@Override
public int compare (Map<String, Integer> o1, Map<String, Integer> o2)
{
return o1.get("Order").compareTo(o2.get("Order"));
}
}
-1
需要自定義比較像這樣:
public class MyComparator implements Comparator<HashMap<String, ?>> {
public compare(HashMap<String, ?> o1, HashMap<String, ?> o2) {
return o1.get("Order").toString().compareTo(o2.get("Order").toString());
}
}
你再排序您使用清單:
Collections.sort(myList, new MyComparator());
相關問題
- 1. 對散列值進行排序
- 2. 按另一個散列中的值對散列進行排序
- 3. 通過int值對HashMap <String,Object>的ArrayList進行排序
- 4. 同時對散列表和打印鍵和值進行排序
- 5. 使用perl進行散列鍵排序?
- 6. 在ArrayList中按日期對ArrayList列表進行排序
- 7. 如何根據IO Int值對列表進行排序
- 8. 如何對options_for_select散列進行排序?
- 9. 使用Java中的屬性值對對象ArrayList進行排序
- 10. 排序ArrayList散列圖
- 11. 使用OrderBy對列表進行排序
- 12. 如何對散列值中的修剪值進行排序
- 13. 按數值降序對散列圖鍵進行排序
- 14. 如何對列表進行排序(使用散列表查找項目)
- 15. 通過散列數組中的散列值進行排序
- 16. 使用來自單獨散列值的值對數組進行排序
- 17. 如何使用多個排序條件對ArrayList進行排序?
- 18. 用Java對HashTables的ArrayList進行排序
- 19. jRuby/Rails通過另一個散列值對散列進行排序
- 20. 如何對存儲在散列表中的數值進行排序,然後在Java的ArrayList中對數值進行排序?
- 21. 對列表進行排序,使特定值排在最前
- 22. 在rails中對鍵值爲「YYYY-MM」的散列進行排序
- 23. 按xtend中的值對散列圖進行排序
- 24. 如何使用vb.net在datagridview中對int列進行排序
- 25. 如何對ArrayList列表(不是數組)進行排序?
- 26. 在Perl中,如何使用自定義排序對散列鍵進行排序?
- 27. 如何使用值對列表[MVar a]進行排序?
- 28. 使用next和prev值對列表進行排序
- 29. 使用冒泡排序對列表進行排序
- 30. 對ASP.NET中的散列表數據進行排序C#
@Downvoter,請評論 – njzk2