在我的代碼中我有ArrayList<TreeMap<String, Object>>
。什麼TreeMap
將是關鍵和價值。有一個名爲的密鑰sent_date,其格式爲yyyy-MM-DD HH:MM:SS
。我找不到排序此列表的方法...有人可以幫忙嗎?謝謝。如何按日期排序ArrayList的TreeMap作爲值
回答
您可以使用Collections.sort(list, comparator)
,您必須實施Comparator<Map<String,?>>
才能執行所需的操作(即從兩張地圖中檢索sent_date
並比較這些地圖)。
可能的重複我還會對任何使用新Java8功能發佈簡潔實現的人+1進行重複。現在這一定是可能的,沒有太多的樣板。 – Thilo
比較器是我不明白的部分...請給我更多的例子嗎? – user1865027
看看這個例子:http://stackoverflow.com/a/10471029/14955 – Thilo
在Java 8,這將是(對那種修改列表):
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
list.sort(Comparator.comparing(m -> LocalDateTime.parse(m.get("sent_date"), format)));
或者,如果你想保持原來的列表:
newList = list.stream()
.sorted(Comparator.comparing(...))
.collect(Collectors.toList());
當然,它看起來像日期格式需要一些工作。 –
humm ...我有java7 :( – user1865027
- 1. 如何按(日期)值排序TreeMap?
- 2. Android的 - 如何按日期排序arrayList?
- 3. TreeMap按價值排序不工作?
- 4. 日期排序ArrayList
- 5. 排序日期ArrayList
- 6. 如何按日期排序defaultdict(list)值?
- 7. 排序ArrayList的日期
- 8. 如何按日期排序,但按某個列值排序SQL
- 9. 如何按日期排序
- 10. 如何按日期排序
- 11. 在ArrayList中按日期對ArrayList列表進行排序
- 12. 在TreeMap中對ArrayList <String>排序
- 13. 如何按日期升序排序?
- 14. 如何使用鍵值日期作爲鍵的對象排序
- 15. 按日期排序
- 16. 按日期排序
- 17. 按日期排序?
- 18. 按日期排序
- 19. 按日期排序
- 20. 如何將2列作爲一個並按日期排序?
- 21. 按日期排序和按天排序
- 22. Django按日期排序(日)
- 23. 如何按日期排序Json平面?
- 24. 如何按日期排序數組?
- 25. 如何按日期排序文件
- 26. mySQL如何按日期時間排序?
- 27. SSMS:如何按日期排序對象?
- 28. 如何在datagridview中按日期排序
- 29. 如何使用ReferenceProperty按日期排序?
- 30. 如何按日期排序minimongo遊標?
究竟如何你想你列表排序?你已經嘗試了什麼? –
你是說每個'TreeMap'元素只包含1個條目嗎?爲什麼不直接使用'TreeMap'並放棄'ArrayList'? – jpmc26
番石榴表會是一個更好的數據結構嗎? http://docs.guava-libraries.googlecode.com/git-history/v17.0/javadoc/com/google/common/collect/Table.html –