【谁能建议如何在android Recycler View中按产品价格实现排序[关闭]】于今腐草无萤火,终古垂杨有暮鸦。这篇文章主要讲述谁能建议如何在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;
}
}
答案你需要使用
Comparator
和Collections.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());
推荐阅读
- [Material appbar存在时,Android Studio布局预览不起作用
- 在表单提交中找不到错误类'AppModel'
- 错误的Android Studio预览行为
- 如何使用Android Studio解决抖动中的gradle错误()
- Ubuntu 19.10上的React Native Android模拟器设置
- 如何在Android模拟器中安装Google Fit应用()
- Azure App Services无法连接到Azure SQL数据库
- 在SAP PI 7.5中,无法在参数化的Java Mapping中显示树状视图。
- AndroidX迁移-androidx.legacy(legacy-support-v4或androidx.appcompat:appcompat)