Je dois ajouter les valeurs d'une liste chaînée mais je ne sais pas comment les additionner.
li = list.listIterator();
System.out.println("Here are all the integers");
while (li.hasNext())
System.out.println((li.nextIndex() + 1) + ". " + li.next());
System.out.println("Sum of all integers");
while (li.hasNext())
System.out.println(li.next());
4 Réponses :
Vous pouvez le faire en utilisant java-8
int sum = 0;
for(int i : list)
sum += i;
System.out.println("Sum of all integers: " + sum);
Ou
En utilisant pre java-8
int sum = list.stream().mapToInt(Integer::intValue).sum();
System.out.println("Sum of all integers: " + sum);
La manière Java 7 de faire cela, qui est ce que vous utilisez, serait simplement de garder une trace d'une somme en cours lorsque vous parcourez la liste:
li = list.listIterator();
int sum = 0;
while (li.hasNext()) {
sum += li.next();
}
System.out.println("total sum is: " + sum);
Utilisation des flux Java 8 avec réduire:
int sum = list.stream (). reduction (0, Integer :: sum); System.out.println (somme);
Veuillez trouver ci-dessous le code, vous pouvez utiliser la méthode de réduction de java 8.
import java.util.Arrays; import java.util.List;
Test de classe publique {
public static void main(String[] args) {
List<Integer> list= Arrays.asList(1, 2, 3, 4, 5);
int sum= list.stream().reduce(0, (ans, j)-> ans+j);
System.out.println("Sum is : "+sum);
}
}
N'oubliez pas de réinitialiser votre itérateur après cette première boucle! Et veuillez utiliser des accolades (même si elles sont facultatives).