0
votes

Comment filtrer le contenu d'une arrayliste de bonne manière?

Je travaillais à trouver un meilleur moyen de filtrer le contenu d'une arrayliste

Par exemple, ce programme a une arracheListe principale appelée "Étudiants", puis j'ai fait d'autres sublistes du contenu de cette liste (Oldstudents, Youngstudents , stupides, stupides, smartstudents. L'objectif est de filtrer la arrayliste basée sur le choix de l'utilisateur des étudiants (jeunes, anciens, intelligents ou stupides) xxx

Il fonctionne mais je crois qu'il y a Un meilleur moyen d'atteindre ce


2 commentaires

1er Insérez toutes ces liste dans la liste des étudiants ...


Sauf si vous avez besoin de fonctionnalités supplémentaires incluses dans la classe, il est préférable d'affecter le type d'interface. Et vous pouvez également créer une liste mutable en faisant quelque chose comme list stupide = nouveau arrayliste <> (list.of ("stupide1", "stupide2")); Il existe également d'autres moyens d'utiliser flux () et collectionneurs.


3 Réponses :


1
votes

Vous pouvez utiliser cette approche:

class Student { String name; boolean old; boolean stupid; }

List<Student> students = initializeListOfStudents();

// alter these flags accordingly to your needs
Boolean old = null;
Boolean stupid = true;

// then do the filter
List<Student> allStupids = students.stream()
    .filter(it -> (old==null || it.old == old) && (stupid==null || it.stupid==stupid))
    .collect(Collectors.toList());


0 commentaires

0
votes

Java est une langue orientée objet . Utilisez-le.

Créer un Etudiante Classe avec 3 champs: Nom de la chaîne , booléen OLD et boolean intelligent . Ajouter des méthodes getter.

Vous pouvez maintenant filtrer facilement, par exemple xxx


0 commentaires

0
votes

Dans Java 8, vous pouvez utiliser le flux pour filtrer la liste. Dans ce lien, vous pouvez trouver différents exemples:

https://www.baeldung.com/java-stream-filter-lambda


0 commentaires