如何对作为自定义对象列表的LinkedHahMap值进行排序

时间:2019-01-09 12:52:11

标签: java

假设我有一个像LinkedHashMap<String, List<AuditLogs>>这样的对象。 其中AuditLog类具有名为modifiedDate的属性。

我想根据modifiedDate对auditlogs对象进行排序,而与任何键无关。

尽管我已经尝试过了,但是它可以在按键的基础上工作。我可以有一些忽略按键的代码片段。

1 个答案:

答案 0 :(得分:2)

假设您要全部来自一个列表中的全部键中的审核日志值,并按modifiedDate进行排序:

如果您的对象是LinkedHashMap<String, List<AuditLogs>> map

List<AuditLog> sortedAuditLogs = map
   .values()
   .stream()
   .flatMap(List::stream)
   .sorted(Comparator.comparing(AuditLog::modifiedDate))
   .collect(Collectors.toList());