Reputation: 65
I have an ArrayList that I want to sort alphabetically. can someone help me plz?
My code is:
listProd = new ArrayList<Producer>();
Collections.sort(listProd, new Comparator<Producer>() {
@Override
public int compare(Producer p1, Producer p2) {
return p1.getLastname().compareToIgnoreCase(p2.getLastname());
}
});
if (!checked) {
for (Tour t : listTour) {
listProd.addAll(t.getProducers());
}
} else {
listProd = service.getAllProducers();
}
Upvotes: 1
Views: 59
Reputation: 40734
You have to sort after you've added everything to the list:
if (!checked) {
listProd = new ArrayList();
for (Tour t : listTour) {
listProd.addAll(t.getProducers());
}
} else {
listProd = service.getAllProducers();
}
Collections.sort(listProd, new Comparator<Producer>() {
@Override
public int compare(Producer p1, Producer p2) {
return p1.getLastname().compareToIgnoreCase(p2.getLastname());
}
});
Upvotes: 2