Trim des 0 sur une liste de int
Fermé
AmdalResu
Messages postés
4
Date d'inscription
lundi 10 septembre 2018
Statut
Membre
Dernière intervention
10 novembre 2018
-
16 sept. 2018 à 22:24
AmdalResu Messages postés 4 Date d'inscription lundi 10 septembre 2018 Statut Membre Dernière intervention 10 novembre 2018 - 18 sept. 2018 à 11:49
AmdalResu Messages postés 4 Date d'inscription lundi 10 septembre 2018 Statut Membre Dernière intervention 10 novembre 2018 - 18 sept. 2018 à 11:49
A voir également:
- Trim des 0 sur une liste de int
- Liste déroulante excel - Guide
- Liste de numéro de téléphone suspect 07 ✓ - Forum Mobile
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
- Annuaire inversé gratuit liste rouge - Forum Internet / Réseaux sociaux
- Triez la liste comme sur cette illustration (attention, on ne voit que le début …). quel est le mot formé par les 6 dernières lettres de la colonne code ? - Forum Excel
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
17 sept. 2018 à 13:51
17 sept. 2018 à 13:51
Bonjour,
Les stream sont là pour permettre une implémentation simple de traitements "complexes", mais il ne faut pas systématiquement faire du stream partout. Ici ton besoin est simple et le stream serait plus complexe qu'une implémentation basique avec une boucle for, donc il vaut mieux privilégier la simplicité.
Exemple :
Les stream sont là pour permettre une implémentation simple de traitements "complexes", mais il ne faut pas systématiquement faire du stream partout. Ici ton besoin est simple et le stream serait plus complexe qu'une implémentation basique avec une boucle for, donc il vaut mieux privilégier la simplicité.
Exemple :
public static <E> List<E> trim(List<E> list, E toAvoid) {
int sz = list.size(), part2 = 0, part3 = sz, part = 1;
for (int i = 0; i < sz; i++) {
if (Objects.equals(list.get(i), toAvoid)) {
if (part == 2) {
part3 = i;
part = 3;
}
} else {
if (part == 1) {
part2 = i;
part = 2;
} else if (part == 3) {
part3 = sz;
part = 2;
}
}
}
return list.subList(part2, part3);
}
System.out.println(trim(Arrays.asList(0, 0, 0, 5, 10, 0, 15, 0, 0), 0)); // [5, 10, 0, 15]
18 sept. 2018 à 11:49