Funziona benissimo ....
codice:
import java.util.*;
public class Prova
{
public static void main (String[] args)
{
ListaMobili lm = new ListaMobili ();
lm.add ("Scavolini", "tavolino", 30);
lm.add ("Ikea", "sedia", 40);
lm.add ("Scavolini", "sedia", 20);
lm.add ("Le fabieu", "divano", 12);
lm.add ("Divani e Divani", "divano", 15);
Mobile m;
m = lm.cercaMaxMobile ("sedia");
System.out.println (m);
m = lm.cercaMaxMobile ("divano");
System.out.println (m);
m = lm.cercaMaxMobile ("armadio"); // non esiste!
System.out.println (m); // stampa null
}
}
class ListaMobili
{
private ArrayList lista;
public ListaMobili ()
{
lista = new ArrayList ();
}
public void add (String marca, String tipo, double costo)
{
lista.add (new Mobile (marca, tipo, costo));
}
public Mobile cercaMaxMobile (String tipo) {
Mobile m = null;
for (int i = 0; i < lista.size (); i++) {
Mobile e = (Mobile) lista.get (i);
if (e.getTipo ().equals (tipo) && (m == null || e.getCosto () > m.getCosto ()))
m = e;
}
return m;
}
}
class Mobile
{
private String marca;
private String tipo;
private double costo;
public Mobile (String marca, String tipo, double costo)
{
this.marca = marca;
this.tipo = tipo;
this.costo = costo;
}
public String getMarca () { return marca; }
public String getTipo () { return tipo; }
public double getCosto () { return costo; }
public String toString ()
{
return marca + ", " + tipo + ", " + costo;
}
}
Output:
codice:
Ikea, sedia, 40.0
Divani e Divani, divano, 15.0
null