list - 排序列表 flutter

标签 list flutter dart arraylist

我正在寻找一种基于给定值而不是使用两个列表对列表进行排序的最简单方法。

示例我有列表[a,b,c,d],给定值d,我可以这样排序:

enter image description here

但是如果我有一个对象列表,我该如何根据给定的值对它进行排序呢?

示例

List<ABC> list = [{fid:1,name:"a"},{fid:2,name:"b"},{fid:3,name:"c"},{fid:4,name:"d"}]

我有值 3。我想将列表排序为

List<ABC> list = [{fid:3,name:"c"},{fid:1,name:"A"},{fid:2,name:"b"},{fid:4,name:"d"},{fid:4,name:"d"}]

最佳答案

你只需要在这里执行自定义排序,其余的事情将保持不变。

  List list = [{"fid":1,"name":"z"},{"fid":10,"name":"b"},{"fid":5,"name":"c"},{"fid":4,"name":"d"}];
  
  list.sort((a,b)=> a["fid"].compareTo(b["fid"]));
  
  int fidIndex=4;
  
  int indexToRemove=list.indexWhere((element) => element["fid"]==fidIndex);

  Map<String,dynamic> removedItem= list.removeAt(indexToRemove);

  list.insert(0,removedItem); 

  print(list);

关于list - 排序列表 flutter ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64024617/

相关文章:

python - 将两个列表组合在字典中 - python

flutter - 如何修复调用 API 时卡住的 flutter 应用程序(仅限发布版本)

ios - CocoaPods:pod 安装给出 "Errno::E2BIG - Arg list too long"

firebase - Gradle:Flutter升级后,assembleDebug任务失败

dart - 'items'为null时,AngularDart筛选器调用方法将引发错误

Flutter:抛出异常时获取完整的堆栈跟踪?

python - 将大列表保存在内存中的替代方法(python)

java - 实现接口(interface)的类列表

python - 需要删除列表中的所有重复值

Flutter - 主动检查是否按下了特殊键(如 ctrl)