flutter 列表排序sort

  text(){
    
    
    textModels textModel0 = textModels(id: 0,name: '0');
    textModels textModel1 = textModels(id: 1,name: '1');
    textModels textModel2 = textModels(id: 2,name: '2');
    textModels textModel3 = textModels(id: 3,name: '3');
    List<textModels> list = [textModel0,textModel1,textModel0,textModel2,textModel0,textModel3,textModel0];
    list.sort((a, b) =>
        b.id!.compareTo(a.id!));

    for(int i=0;i<list.length;i++){
    
    
      print('列表的排序是${list[i].id}');
    }
  }
I/flutter (13189): 列表的排序是3
I/flutter (13189): 列表的排序是2
I/flutter (13189): 列表的排序是1
I/flutter (13189): 列表的排序是0
I/flutter (13189): 列表的排序是0
I/flutter (13189): 列表的排序是0
I/flutter (13189): 列表的排序是0

所以b到a就是从大到小

 list.sort((a, b) =>
        b.id!.compareTo(a.id!));

a到b就是从小到大

    list.sort((a, b) =>
        a.id!.compareTo(b.id!));

如果使用二分法查找,可以通过用户ID进行从小到大的排序,然后再通过用户ID去查找

猜你喜欢

转载自blog.csdn.net/weixin_44911775/article/details/129816078