我想使用接口迭代器以指定顺序迭代列表。
在这种情况下,我想以降序product.prize顺序迭代列表(listofproducts)。
public class Invoice {
private static int static_id;
private int id;
private String date;
private List<Product> listofproduct = new ArrayList<Product>();
private boolean open;
}
public class Product {
private static int count = 0;
private int code;
private String name;
private String description;
private double price;
}
我有一种公开的方法来获取价格。
我该如何解决?
最佳答案
如果数据量不太大,则可以在不考虑性能的情况下执行以下操作:
List<Product> sortList = new ArrayList<>(origList);
Collections.sort(sortList, new Comparator<Product>() {
@Override
public int compare(Product arg0, Product arg1) {
return (int)(arg1.getPrice() - arg0.getPrice());
}
});
这将创建原始列表的副本,该副本将由比较器进行排序。之后,对
sortList
进行迭代将按price
排序(降序)