我定义了这样一个类,
class Person {
final int id,
final String name,
final String email,
final int age,
Person({
this.id,
this.name,
this.email,
this.age});
}
我有一个 Person 的列表,
List<Person> persons;
现在,我需要根据它的构造函数参数(如 id 或 age)对这个列表进行排序。我怎样才能做到这一点?
最佳答案
你应该用 sort 做到这一点方法。
这是一个简单的例子,按人名对列表进行排序:
class Person {
final int id;
final String name;
final String email;
final int age;
Person({
this.id,
this.name,
this.email,
this.age});
@override
String toString() {
return "Person $name";
}
}
void main () {
List<Person> people = new List();
people
..add(Person(name: "B"))
..add(Person(name: "A"))
..add(Person(name: "D"))
..add(Person(name: "C"));
people.sort((p1, p2) => p1.name.compareTo(p2.name));
print(people);
}
输出:
[Person A, Person B, Person C, Person D]
关于arrays - 根据构造函数参数对 Dart 列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57226530/