排序 ArrayList - JAVA

Sorting ArrayList - JAVA

我有一个包含 3 列(姓名、性别、年龄)的 csv 文件,它是不规则的(未排序)。我创建了一个名为“Person”的 class 并通过 Person 对象将 csv 文件的每一列添加到 Araylist。之后我想对这个列表进行排序,但它没有排序。该列表与 csv 文件相同。我希望排序的代码如下。你能检查一下为什么这段代码没有根据年龄对我的列表进行排序吗?

Comparator<Person> comparator = new Comparator<Person>() {
            
@Override
        
public int compare(Person first, Person second) {
                if (first.age < second.age) {
                    return first.age;
                } else {
                    return second.age;
                }
            }
        };
        Collections.sort(myList, comparator);
    enter code here

亲切的问候。

删除 if else 条件。

    Comparator<Person> comparator = new Comparator<Person>() {
        @Override
        public int compare(Person first, Person second) {
            return first.getAge() - second.getAge();
        }
    };
    Collections.sort(persons, comparator);

Java 8

Collections.sort(persons, Comparator.comparingInt(Person::getAge));

myList.sort(Comparator.comparingInt(Person::getAge));

根据 Java 文档,

Comparator#compare

Returns: 负整数、零或正整数,因为第一个参数小于、等于或大于第二个参数。