Iteracja po liście

Iteracja po liście
AP
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0

Witam! Jak w temacie: Jak iteruje się po liście? Mam program który wczytuje liczby do momentu wpisania liczby 150. tablicy trzeba przypisać długość, więc użyłem tablicy. Problem jest jednak u mnie z iteracją. Bo mam potem policzyć sumę wszystkich elementów, ich średnią i sumę liczb podzielnych przez 3. Pomoże ktoś? :) Da się iterować po liście czy jest jakiś inny sposób na to? Muszę robić tak?:

Kopiuj
suma+=lista.remove(lista.size()-1);

atmal
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 913
0

Możesz to zrobić używając pętli foreach:

Kopiuj
for ([typ] element : lista) // typ to oczywiście typ elementów przechowywanych w liście
{
	suma += element;
	...
}
kiyo
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: JVM
  • Postów: 179
0

Poza sposobem wspomnianym powyżej możesz użyć jeszcze zwykłego fora:

Kopiuj
for (int i = 0; i < lista.size(); i++) {
    suma += lista.get(i);
}

albo iteratora:

Kopiuj
Iterator<Integer> ListaIterator = lista.iterator();
while (ListaIterator.hasNext()) {
    suma += ListaIterator.next();
}
  • Rejestracja: dni
  • Ostatnio: dni
0

Różnica jest tylko umowna prawda? Nie ma znaczenia czego się użyje nie?

jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4712
1
Kopiuj
lista.stream().mapToInt(Integer::intValue).sum()

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.