Hola nois :-) Varies maneres de recorrer collections: Iterator version: Iterator it = llista.iterator(); while(it.hasNext()){ Book b = it.next(); if(b.GetIsbn().equals(comanda[1])){ System.out.println(b); break; } } Iterator version (casting required): Iterator it = llista.iterator(); while(it.hasNext()){ Book b = (Book) it.next(); if(b.GetIsbn().equals(comanda[1])){ System.out.println(b); break; } } Enhanced for for lists and sets: for(Book b : set) If it's a map: for(Book b : map.values()) for(String isbn : map.keys()) for(Map.Entry entry : map.entrySet()) Iterator for map entry: Map map = new HashMap(); for (Map.Entry entry : map.entrySet()) { System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); } You can also iterate for map.keySet() or map.values(): for (Integer k : map.keySet()) for (Integer v : map.values()) To use TreeSet, Dog has to be Comparable. To use MapSet, Key has to be Comparable. class Dog implements Comparable{ String color; int size; [...] @Override public int compareTo(Dog o) { return o.size - this.size; } } Salut, Manel