2015-02-05 2 views
-4

у меня есть объекты типа «Продукт» и с ArrayList типа «продукт», который содержит несколько объектов продуктаJava: Сортировка (элементы в ArrayList по своим свойствам

продукт

String ProductID; 
int ProductRating; 

я. хотели бы пройти через ArrayList и отсортировать эти продукты по их продукту, от наивысшего до наименьшего, так чтобы первый элемент в ArrayList содержал наивысший рейтинг и затем уменьшался после этого.

+2

возможный дубликат [Sort ArrayList из пользовательские объекты по свойству] (http://stackoverflow.com/questions/2784514/sort-arraylist-of-custom-objects-by-property) – jor

+0

use 'Collections.sort () 'с пользовательским компаратором – user902383

+0

и [как сортировать ArrayList в java] (http://stackoverflow.com/questions/18441846/how-sort-a-arraylist-in-java?lq=1). Пожалуйста, проверьте SO перед вами задайте вопрос – Droidekas

ответ

0

Использование следующее решение

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 
0

можно реализовать с помощью 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 
    } 
}); 
Смежные вопросы