isebastianvp:
J'ai essayé de trier une liste filtrée une fois que je l'utilise foreach en Java, mais je ne peux pas. Quelqu'un pourrait-il me aider? S'il vous plaît. Voici le code que je l'ai et je dois trier:
List<Photo> photos = getAllPhoto();
String parteTitulo = "ipsam do";
for (Photo aux: photos){
if(aux.getTitle().contains(parteTitulo)){
System.out.println(aux.getTitle());
}
}
Voilà ce que je reçois une fois que je l'imprimer:
placeat ipsam doloremque possimus sint autem laborum ea expedita
sed ut aut ipsam dolore
beatae ipsam dolores consequatur eum quia inventore sit
eos sapiente ipsam dolores accusamus est et nihil odio
consequatur iure est ullam ipsam dolorem nesciunt
Merci beaucoup!
Skwat:
Vous ne pouvez pas trier une liste tout simplement itérer il. Parce que vous ne pouvez pas décider si elle est la bonne position d'un élément d'imprimer sans savoir ce qui est en avance dans la liste. Donc
Vous devez le faire en 2 étapes -
- Premier filtre la liste
Trier la liste filtrée en utilisant un comparateur
List<Photo> photos = getAllPhoto(); String parteTitulo = "ipsam do"; List<Photo> filteredPhotos = new ArrayList<>(); for (Photo aux : photos) { if (aux.getTitle().contains(parteTitulo)) { filteredPhotos.add(aux); } } filteredPhotos.sort((p1, p2) -> p1.getTitle().compareToIgnoreCase(p2.getTitle())); for (Photo aux : filteredPhotos) { System.out.println(aux.getTitle()); }