【问题标题】:Arraylist comparison with string based conditionsArraylist 与基于字符串的条件的比较
【发布时间】:2015-11-04 12:32:05
【问题描述】:

Arraylist 包含类模型。类有一个参数“状态”,其值将是“打开”、“关闭”、“即将到来”。

如何根据'status'参数对arraylist进行排序,即'open'应该首先出现,'close'和'upcoming'将分别跟随它?

任何帮助表示赞赏..

【问题讨论】:

  • 准备提供帮助,请尝试,发布一些代码供我们开始使用。

标签: java android sorting arraylist


【解决方案1】:

你只需要为你的模型类实现 Comparable 接口

然后用你的比较逻辑实现 compareTo 方法。

然后打电话给Collections.sort(yourModelList);

您可以找到实现 Comparable 接口 here 的示例。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    除非列表中的元素具有自然排序的概念,否则不要YourClass 更改为实现Comparable<YourClass>

    改为实现Comparator<YourClass>,它是一个完全独立的类:

    class YourClassComparator implements Comparator<YourClass> {
      @Override
      public int compare(YourClass a, YourClass b) {
        // ... 
      }
    }
    

    然后将 this 的一个实例传递给Collections.sort:

    Collections.sort(yourModelList, new YourClassComparator());
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2016-10-20
      相关资源
      最近更新 更多