【问题标题】:Java: Sorting (Items in ArrayList by their PropertiesJava:排序(ArrayList 中的项目按其属性
【发布时间】:2015-04-05 05:07:54
【问题描述】:

我有一个“产品”类型的对象和一个包含多个产品对象的“产品”类型的 ArrayList。

产品

String ProductID;
int ProductRating;

我想遍历ArrayList 并按它们的 ProductRating 对这些产品进行排序;从最高到最低,因此ArrayList 中的第一项包含最高评级,然后在此后递减。

【问题讨论】:

标签: java android class sorting arraylist


【解决方案1】:

使用以下解决方案

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

【讨论】:

    【解决方案2】:

    您可以使用Collections.sort(List&lt;T&gt; list, Comparator&lt;? super T&gt; c) 来实现 像这样

    Collections.sort(productList, new Comparator<Product>() {
        @Override
        public int compare(Product p1, Product p2) {
            return p1.ProductRating - p2.ProductRating; // Ascending
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 2013-05-21
      • 1970-01-01
      • 2012-05-29
      • 2020-11-01
      • 2015-11-20
      • 2020-01-12
      • 2013-06-14
      • 1970-01-01
      相关资源
      最近更新 更多