可以使用List.sort()方法对list1进行排序,同时根据排序后的下标对list2进行同步排序,保证每一项仍与list1中原来的一项对应。代码如下:

List<String> list1 = ["apple", "pear", "peach", "banana"];
List<int> list2 = [15, 16, 20, 45];

// 使用List.sort()方法对list1进行排序
list1.sort();

// 对list2进行同步排序
list2.sort((a, b) => list1.indexOf(list1.firstWhere((element) => element == a.toString())).compareTo(list1.indexOf(list1.firstWhere((element) => element == b.toString()))));

print(list1);  // 输出 ["apple", "banana", "peach", "pear"]
print(list2);  // 输出 [15, 45, 20, 16]

其中,list2的排序方法使用了List.indexOf()List.firstWhere()方法,找到元素在排序后的list1中的下标,再根据下标进行排序。

如何让下面这段Flutter代码中的list1按照名称自动排序而list2中的每一项在排序后仍与list1中原来的一项对应ndartnlistString-list1-=-apple-pear-peach-banana;nlistint-list2-=-15-16-20-45;n

原文地址: https://www.cveoy.top/t/topic/nz7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录