Java:排序(ArrayList 中的项目按其属性
Java: Sorting (Items in ArrayList by their Properties
我有 "Product" 类型的对象和包含多个产品对象的 'Product' 类型的 ArrayList。
产品
String ProductID;
int ProductRating;
我想遍历 ArrayList
并按 ProductRating 对这些 Products 进行排序;从最高到最低,因此 ArrayList
中的第一项包含最高评分,然后逐渐降低。
使用以下解决方案
public class ProductRatingSort implements Comparator<Product> {
@Override
public int compare(Product arg0, Product arg1) {
// TODO Auto-generated method stub
int f = arg0.getProductRating();
int s = arg1.getProductRating();
if(f>s)
return 1;
return -1;
}
}
然后从你想要排序的地方调用它 arraylist
Collections.sort(arrProduct, new ProductRatingSort()); // your array list
您可以使用 Collections.sort(List<T> list, Comparator<? super T> c)
来实现
因此
Collections.sort(productList, new Comparator<Product>() {
@Override
public int compare(Product p1, Product p2) {
return p1.ProductRating - p2.ProductRating; // Ascending
}
});
我有 "Product" 类型的对象和包含多个产品对象的 'Product' 类型的 ArrayList。
产品
String ProductID;
int ProductRating;
我想遍历 ArrayList
并按 ProductRating 对这些 Products 进行排序;从最高到最低,因此 ArrayList
中的第一项包含最高评分,然后逐渐降低。
使用以下解决方案
public class ProductRatingSort implements Comparator<Product> {
@Override
public int compare(Product arg0, Product arg1) {
// TODO Auto-generated method stub
int f = arg0.getProductRating();
int s = arg1.getProductRating();
if(f>s)
return 1;
return -1;
}
}
然后从你想要排序的地方调用它 arraylist
Collections.sort(arrProduct, new ProductRatingSort()); // your array list
您可以使用 Collections.sort(List<T> list, Comparator<? super T> c)
来实现
因此
Collections.sort(productList, new Comparator<Product>() {
@Override
public int compare(Product p1, Product p2) {
return p1.ProductRating - p2.ProductRating; // Ascending
}
});