【问题标题】:Sorting a list of ArrayList by date in the ArrayList在 ArrayList 中按日期对 ArrayList 列表进行排序
【发布时间】:2013-10-12 08:34:32
【问题描述】:

我有一个 ArrayList 列表,每个 arraylist 由一个日期和一个字符串组成。我想根据数组列表中的日期对列表进行排序。我试图寻找答案,但在网上找不到。大多数示例都是按日期对对象列表进行排序。有什么建议吗?

public List<ArrayList> SuggestionReport() {
    Query q = em.createQuery("SELECT s FROM SuggestionEntity s");
    List<ArrayList> report = new ArrayList();
    for (Object o : q.getResultList()) {
        suggestionEntity = (SuggestionEntity) o;
        ArrayList suggestion = new ArrayList();
        suggestion.add(suggestionEntity.getSuggestionDate());
        suggestion.add(suggestionEntity.getContent());
        report.add(suggestion);
    }

    return report;
}

ps。我想在返回列表之前对列表进行排序

【问题讨论】:

  • 您可以按日期查询。试试这个 sql“SELECT s FROM SuggestionEntity s order by s.suggestionDate desc”。“s.suggestionDate”是您的数据库字段。结果已经排序了。

标签: java list sorting date java-ee-7


【解决方案1】:

不需要编写额外的代码,只需将查询更改为

SELECT s FROM SuggestionEntity s order by  suggestion_date ASC|DESC

suggestion_date 是您的列名。

ASC|DESC是您想要的订单,根据您的要求选择ASCDESC

在这里了解更多关于order by的信息

【讨论】:

  • 非常感谢!!但这也适用于 java ejb 查询吧?
  • 当然支持sql 对吧?语法可能会改变。但是概念是一样的。 :)
  • 非常感谢您的帮助!欣赏它:)
  • @ayampenyet 很高兴为您提供帮助。如果您觉得有帮助,请将其标记为答案。
【解决方案2】:

您应该编写自己的比较器,然后将其排序如下:

Collections.sort(list, myComparator);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2012-05-29
    相关资源
    最近更新 更多