我正在开发一个flutter应用程序,该应用程序充当地址簿。我想按字母顺序对“名称”列表进行排序,并对地址列表进行排序,以匹配名称的排序,以将其实现为列表视图。我该如何存档第二种排序?
<html>
<body>
<div class="sidebar">sidebar</div>
<div class="outer">
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
<div class="inner">
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
从技术上讲这是可能的,但将比值得的事更为头痛。试图弄混两个列表并确保它们的顺序始终保持一致,这只是在询问复杂的代码和复杂的错误。
如果两个列表中的数据都是相关的,并且它们之间存在一对一的关系,则将数据捆绑到数据对象中并具有一个单独的列表。
(此外,还有一种更简单的方法来对列表进行排序。)
class Person {
Person(this.name, this.address);
String name;
String address;
}
void main() {
List<Person> persons = [
Person('Charles', 'Western Street 2'),
Person('Kevin', 'Roundabout 4'),
Person('George', 'Western Street 4'),
];
// This approach sorts the list in place, changing the order of the original list
persons.sort((a, b) => a.name.compareTo(b.name));
// This approach returns a new list, leaving the original unaffected
final sortedPersons = List.of(persons)..sort((a, b) => a.name.compareTo(b.name));
}