Bonjour, comment faire connaitre la présence d'un élément plusieurs fois dans une liste en java?
Merci
Version imprimable
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:
1
2
3
4
5
6 int compteur = 0; for(Type item : list) { if ( item.equals(element) ) { compteur++; } }
Code:list.stream(item-> item.equals(element)).count();
On peut limiter le comptage ŕ 2
Code:
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:
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:
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; }
- ...