如何在 Java 中按字母顺序排列姓名和姓氏?

How to order name and lastNames alphabetically in Java?

我不知道如何按字母顺序排列 ArrayList 内容的字母顺序,我需要这样排列: - 按姓名订购 - 按姓氏排序 - 按 lastName

反向排序

感谢您的帮助和您的宝贵时间!

import java.util.ArrayList;

public class FirstClass {
    public static void main(String[] args) {
        ArrayList<Object> listPersons = new ArrayList<>();

        Person person1 = new Person();
        Person person2 = new Person();
        Person person3 = new Person();
        Person person4 = new Person();
        Person person5 = new Person();

        person1.setName("Gonzalo");
        person1.setLastName("Ramos");
        listPersons.add(person1);
        person2.setName("Nicolas");
        person2.setLastName("Lopez");
        listPersons.add(person2);
        person3.setName("Sergio");
        person3.setLastName("Gonzalez");
        listPersons.add(person3);
        person4.setName("Emilio");
        person4.setLastName("Suarez");
        listPersons.add(person4);
        person5.setName("Carolina");
        person5.setLastName("Chavez");
        listPersons.add(person5);


    }
}


public class Person {
    String name;
    String lastName;

    public String getName () {
        return name;
    }
    public void setName (String name) {
        this.name = name;
    }

    public String getLastName () {
        return lastName;
    }
    public void setLastName (String lastName) {
        this.lastName = lastName;
    }
}

我尝试用不同的方法解决它,但我无法让它动态地正确工作

使用任何 java 版本 8+

List<Person> sortedByName = listPersons.stream().sorted(Comparator.comparing(Person::getName)).collect(Collectors.toList());

List<Person> sortedByLastName = listPersons.stream().sorted(Comparator.comparing(Person::getLastName)).collect(Collectors.toList());

List<Person> reverseSortedByLastName = listPersons.stream().sorted(Comparator.comparing(Person::getLastName).reversed()).collect(Collectors.toList());