谁能建议如何在 android Recycler View 中实现按产品价格排序

Can anyone suggest how to implement the sorting by price of a product in android Recycler View

因为我需要对数组列表的值进行排序,所以我无法获得不同算法(如选择排序、快速排序和冒泡排序)的排序算法。我是 Android 应用程序开发的新手,请帮我解决这个问题。提前致谢

public class TestingSort {
public static void main(String args[]){

        ToSort toSort1 = new ToSort(new Float(3), "3");
        ToSort toSort2 = new ToSort(new Float(6), "6");
        ToSort toSort3 = new ToSort(new Float(9), "9");
        ToSort toSort4 = new ToSort(new Float(1), "1");
        ToSort toSort5 = new ToSort(new Float(5), "5");
        ToSort toSort6 = new ToSort(new Float(0), "0");
        ToSort toSort7 = new ToSort(new Float(3), "3");
        ToSort toSort8 = new ToSort(new Float(-3), "-3");

        List<ToSort> sortList = new ArrayList<ToSort>();
        sortList.add(toSort1);
        sortList.add(toSort2);
        sortList.add(toSort3);
        sortList.add(toSort4);
        sortList.add(toSort5);
        sortList.add(toSort6);
        sortList.add(toSort7);
        sortList.add(toSort8);

        Collections.sort(sortList);

        for(ToSort toSort : sortList){
            System.out.println(toSort.toString());
        }
    }

}

     public class ToSort implements Comparable<ToSort> {

    private Float val;
    private String id;

    public ToSort(Float val, String id){
        this.val = val;
        this.id = id;
    }

    @Override
    public int compareTo(ToSort f) {

        if (val.floatValue() > f.val.floatValue()) {
            return 1;
        }
        else if (val.floatValue() <  f.val.floatValue()) {
            return -1;
        }
        else {
            return 0;
        }

    }

    @Override
    public String toString(){
        return this.id;
    }
}

您需要将 ComparatorCollections.sort()

一起使用
Collections.sort(YourArraylist, new Comparator<ModelObject>(){
   public int compare(ModelObject o1, ModelObject o2){
      return o1.getPrice() - o2.getPrice();
   }
});

如果你使用的是Java8,你可以使用下面的代码。

Collections.sort(YourArraylist, (o1, o2) -> o1.getPrice() - o2.getPrice());