我想知道如何比较数组列表中的所有数组列表元素?例如,我想比较最大数字的元素。就像比较第一个元素和第二个元素一样,第二个元素与第三个元素进行比较。怎么办?
List <Product> productList= new ArrayList<>();
任何人都可以举一些关于如何与这个变量进行比较的例子吗?
productList.get(i).getPrice()
感谢您的帮助。
如果你只想要最大值,那么使用这个:
public int getMax(ArrayList list){
int max = Integer.MIN_VALUE;
for(int i=0; i<list.size(); i++){
if(list.get(i) > max){
max = list.get(i);
}
}
return max;
}
更好的方法是比较器:
public class compareProduct implements Comparator<Product> {
public int compare(Product a, Product b) {
if (a.getPrice() > b.getPrice())
return -1; // highest value first
if (a.getPrice() == b.getPrice())
return 0;
return 1;
}
}
然后就这样做:
Product p = Collections.max(products, new compareProduct());
比较这样的东西
for (int i = 0; i < productList.size(); i++) {
for (int j = i+1; j < productList.size(); j++) {
// compare productList.get(i) and productList.get(j)
}
}