Jak sprawdzić nr iteracji w pętli For Each ?

Jak sprawdzić nr iteracji w pętli For Each ?
TomDom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Białystok
  • Postów: 191
0

mam taki kawałek kodu i nie wiej jaka jest wartość aktualnej iteracji i używam zmiennych X i Y a chciałbym tego uniknąć.

Kopiuj
    String[] imiona = {"Ala", "Adam", "Marek", "Stefan", "Stefan", "Stefan"};

    List<String> names = Arrays.asList(imiona);
    List<String> powtorki = new ArrayList<String>();

    List<Integer> count = new ArrayList<Integer>();
    int x = 0;
    for (String el : names) {
        int ile = 0;
        int y = 0;
        for (String el2 : names) {
            if (el.equals(el2) && x != y) {
                ile++;
                if (ile == 1) {
                    powtorki.add(ile + "razy powtarza się" + el2);
                } else {
                    powtorki.set(powtorki.size() - 1, (ile + "razy powtarza się " + el2));
                }
            }
            y++;
        }
        x++;
    }
    System.out.println(powtorki);
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Zrób pętle for, a nie kombinuj.

TomDom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Białystok
  • Postów: 191
0

Wiem, że można zrobić pętlę For.

Pytanie brzmi czy da się zbadać wartość aktualnej iteracji?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
U8
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 47
0

Da się zewnętrznym indeksem inkrementowanym w pętli foreach, ale jak już zostało powiedziane nie kombinuj użyj fora jeżeli musisz znać ten iterator.

  • Rejestracja: dni
  • Ostatnio: dni
0

moze sprobuj:

Kopiuj
int i=0;

i przy kazdej iteracji inkrementuj

dodanie znacznika <code class="java"> - @furious programming

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.