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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁能建议如何在android Recycler View中按产品价格实现排序[关闭]相关的知识,希望对你有一定的参考价值。

由于我需要对数组List的值进行排序,我无法获得不同算法的排序算法,如选择排序,快速排序和冒泡排序。我是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();
   }
});

如果您使用的是Java 8,则可以使用以下代码。

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

以上是关于谁能建议如何在android Recycler View中按产品价格实现排序[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Android RecyclerView 绘制流程及Recycler缓存

如何从android studio中的recycler视图将数据添加到SQLite数据库中

Android RecyclerView 绘制流程及Recycler缓存

在Recycler视图上添加图像视图时,Android导航抽屉动画滞后/减速

我想使用 GeoFire 在 android 中填充 Firebase Recycler View

Recycler View重复,如何查看一次