Bonjour, comment faire connaitre la présence d'un élément plusieurs fois dans une liste en java?
Merci
Bonjour, comment faire connaitre la présence d'un élément plusieurs fois dans une liste en java?
Merci
Tu utilises la méthode contains avant d'appeler la méthode add
Salut,
Si la question signifie :
- comment éviter d'avoir un élément plus d'une fois dans une List,
alors la réponse de @supergeoffray est la solution
Si on peut utiliser un Set au lieu d'une List, on peut utiliser un LinkedHashSet, qui garantira l'unicité des éléments, tout en conservant l'ordre d'ajout.- comment savoir si un élément se trouve plusieurs fois dans une List
- on peut les compter
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 int compteur = 0; for(Type item : list) { if ( item.equals(element) ) { compteur++; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part list.stream(item-> item.equals(element)).count();
On peut limiter le comptage à 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public static <T> boolean estPlusieursFoisDans(T element, List<T> list) { int compteur = 0; for(T item : list) { if ( item.equals(element) ) { compteur++; if ( compteur>1 ) { return true; } } } return false; }- Divers autres alternatives
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static <T> boolean estPlusieursFoisDans(T element, List<T> list) { int index = list.indexOf(element); if ( index>=0 ) { return index!=list.lastIndexOf(element); } return false; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static <T> boolean estPlusieursFoisDans(T element, List<T> list) { int indexPremier = list.indexOf(element)+1; if ( indexPremier>0 && indexPremier<list.size()) { return list.subList(indexPremier, list.size()).contains(element); } return false; }- ...
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Partager