這個問題在這里已經有了答案: 如何按 POJO 屬性按降序對串列進行排序? (6 個回答) 昨天關門。
我不知道如何按字母順序對 ArrayList<Object> 內容進行排序,我需要這樣排序: -按名稱排序 -按姓氏排序 -按姓氏排序
感謝您的幫助和您的時間!
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;
}
}
我試圖以不同的方式解決它,但我無法讓它動態且正確地作業
uj5u.com熱心網友回復:
使用任何 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());
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/455822.html
上一篇:按日期將物件陣列分組為年和月
下一篇:將物件值和屬性轉換為陣列
