【问题标题】:ArrayList object sorting by integer [duplicate]ArrayList对象按整数排序[重复]
【发布时间】:2018-11-24 14:30:49
【问题描述】:

所以我创建了一个目录条目的 ArrayList,其中 CatalogueEntry 由一个 int、一个字符串和一个状态(之前已定义)组成。我想根据它们的整数对列表的元素(又名目录条目)进行排序。有什么办法可以做到吗?

【问题讨论】:

  • 你的代码在哪里?你遇到了什么错误?
  • 几乎可以肯定。但这不是 SO 的工作方式;请查看常见问题解答。
  • 可以使用Camparable或Comparator解释here

标签: java sorting arraylist


【解决方案1】:

是的,但是你必须告诉程序你说一个 CatalogueEntry 比另一个大是什么意思。有多种方法可以做到这一点,但其中一个示例是 Comparable 接口

public class CatalogueEntry implements Comaparable<CatalogueEntry> {

private int yourInt;
//methods, variables here

@Override
public int compareTo(CatalogueEntry other){
   if(this.yourInt == other.yourInt) return 0;
   if(this.yourInt > other.yourInt) return 1;
   return -1;
}

如你所见,你必须实现 compareTo 方法,如果另一个条目等于这个值,则返回 0,-1 是它的大,1 如果它更小!这样程序就会知道如何对这些对象进行排序,你可以使用 ArrayList 的 sort 方法!

【讨论】:

    【解决方案2】:

    使用ComparableComparator 你可以做到这一点。这个例子将使您清楚地了解如何按对象的属性对列表进行排序。在此示例中,Student 对象按其年龄排序。

    example

    【讨论】:

      猜你喜欢
      • 2014-10-08
      • 2019-11-15
      • 2017-03-03
      • 2019-12-04
      • 1970-01-01
      • 2013-05-21
      • 2013-06-14
      • 2016-06-22
      • 2012-11-03
      相关资源
      最近更新 更多