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).