Buenas,
Puedes usar la clase Collection y el método max para obtener el producto con mayor precio.
Código Java:
Ver originalArrayList<Producto> productos = new ArrayList<Producto>();
Collections.
addAll(productos,
new Producto
(10),
new Producto
(50),
new Producto
(30)); Producto max
= Collections.
max(productos,
new Comparator
<Producto
>(){ public int compare(Producto o1, Producto o2) {
double precio1 =o1.getPrecio();
double precio2 = o2.getPrecio();
return precio1 > precio2 ? 1 : (precio1 == precio2) ? 0 : -1;
}
});
También puedes crearte una clase que implemente el comparador aparte para poder reutilizarla.
Código Java:
Ver originalclass ProductoPorPrecio implements Comparator<Producto>{
public int compare(Producto o1, Producto o2) {
double precio1 =o1.getPrecio();
double precio2 = o2.getPrecio();
return precio1 > precio2 ? 1 : (precio1 == precio2) ? 0 : -1;
}
}
ArrayList<Producto> productos = new ArrayList<Producto>();
Collections.
addAll(productos,
new Producto
(10),
new Producto
(50),
new Producto
(30)); Producto max
= Collections.
max(productos,
new ProductoPorPrecio
());