Buona sera Anfrea. Grazie mille per avermi risposto ancora.
Io sto provando a fare come hai detto. cioé ho crato una prima copia dell'arrayList del mio catalogo ordinata in base ai prezzi, ora in cascata sto cercando di ordinarla ulteriormente per gli elementi con lo stesso prezzo e poi stessa designazione a colpi di cicli for e di if . ma ci sto da un po' e non riesco ad avere risultati soddisfacenti , quindi mi domando se esista qualche metodo simili al'utilizzo di comparator...
questo é quanto fatto fin ora....ma non mi ordina mai perfettamente , credo che sbaglio nell'utilizzo dei cicli for
codice:
public Collection<Produit> produitsTrieParPrixCroissant() {
if (catalogue.isEmpty()) {
System.out.println("Aucun produit dans le catalogue");
return catalogue; // / modifico da return null, a return catalogue
} else {
ArrayList<Produit> c = new ArrayList<Produit>(catalogue);
Collections.sort(c, new ComparatorProduitPrix());
for (int i = 0; i < c.size() - 1; i++) {
for (int j = i + 1; j < c.size(); j++) {
if (c.get(i).getPrix() == c.get(j).getPrix()) {
int r = c.get(i).getDesignation()
.compareTo(c.get(j).getDesignation());
if (r > 0) {
Produit mom = c.get(i);
c.set(i, c.get(i + 1));
c.set(i + 1, mom);
}
if (r == 0) {
if (c.get(i).getIdentifiant() > c.get(j).getIdentifiant()) {
Produit mom = c.get(i);
c.set(i, c.get(i + 1));
c.set(i + 1, mom);
}
}
}
}
}
return c;
}
}