ArrayList对象按整数排序

时间:2018-11-24 14:30:50

标签: java sorting arraylist

因此,我制作了一个目录条目的ArrayList,其中CatalogueEntry由一个int,一个字符串和一个状态(先前已定义)组成。我想根据它们的整数排序列表中的元素(也称为目录条目)。有什么办法可以做到吗?

2 个答案:

答案 0 :(得分:1)

是的,但是您必须通过告诉一个CatalogueEntry大于另一个的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;如果较小则返回1!这样,程序将知道如何对这些对象进行排序,您只需使用ArrayList的sort方法即可!

答案 1 :(得分:0)

使用ComparableComparator,您可以执行此操作。本示例将使您清楚地了解如何按对象的属性对列表进行排序。在此示例中,Student个对象按其年龄排序。

example

相关问题