[Java] Heutzutage ist die erweiterte for-Anweisung nicht ausschließlich für List, nicht wahr?

Als ich eine Quellenüberprüfung durchführte, wurde mir gesagt: "Ich dachte, die erweiterte for-Anweisung sei nur für List!". Also schreibe ich hier noch einmal: "Das ist nicht so."

Versuchen Sie, die Liste zu wiederholen

Beide Methoden führen zum gleichen Ergebnis.

    List<String> strList = new ArrayList<String>();  //Der Zuweisungsprozess zum Listenelement entfällt.

    //Schleife die Liste mit einer normalen for-Anweisung.
    for ( int i = 0 ; i < strList.size() ; i++) {
      System.out.println(strList.get(i));
    }
    
    //Schleife die Liste mit einer erweiterten for-Anweisung.
    for (String string : strList) {
      System.out.println(string);
    }

Versuchen Sie, das Array zu schleifen

Das gleiche Ergebnis wird auch hier ausgegeben.

    String[] strArray = new String[5];  //Der Zuweisungsprozess zum Array-Element entfällt.

    //Schleife das Array mit einer normalen for-Anweisung.
    for ( int i = 0 ; i < strArray.length ; i++) {
      System.out.println(strArray[i]);
    }
    
    //Schleife das Array mit einer erweiterten for-Anweisung.
    for (String string : strArray) {
      System.out.println(string);
    }

Wie man es richtig benutzt

Ich benutze es richtig, je nachdem, ob ich den Wert von index möchte.

--Wenn Sie den Wert von index möchten: point_right: Ordinary for loop.

Persönlich denke ich, dass die Quelle bei Verwendung von Index schwer zu lesen ist. Wenn ein langer Variablenname im Geschäft herauskommt, wird er unter Berücksichtigung der Lesbarkeit normalerweise einmal wie "strList.get (i)" in die Variable übernommen. Auf der obigen Beispielebene spielt es keine Rolle, ob Sie sie einmal in eine Variable extrahieren, aber es kann für Unternehmen etwas ärgerlich sein (I).

Zusammenfassung

--Listenschleifen können mit gewöhnlichen for-Anweisungen geschrieben oder für Anweisungen erweitert werden.

Recommended Posts

[Java] Heutzutage ist die erweiterte for-Anweisung nicht ausschließlich für List, nicht wahr?
[Java] für Anweisung / erweitert für Anweisung
Vergleichen Sie die Geschwindigkeit der for-Anweisung und der erweiterten for-Anweisung.
Was ist der flüchtige Modifikator für Java-Variablen?
Der öffentliche Schlüssel für jenkins-2.249.1-1.1.noarch.rpm ist nicht installiert
Java für Anweisung
Ich habe versucht, die erweiterte for-Anweisung in Java zu verwenden
[Anfänger] Java-Variable / logischer Operator / erweitert für Anweisung [Anmerkung 22]
So schleifen Sie Java Map (für jede / erweiterte for-Anweisung)
[Java] für Anweisung, während Anweisung
(Memo) Java für Anweisung
[Java] Machen Sie die Variablen der erweiterten for-Anweisung und für jede Anweisung unveränderlich
[Java] com.sun.glass.WindowEvent wird importiert und das Fenster wird nicht geschlossen
Ist die While-Aussage nicht böse?
[Java] Grundlegende Aussage für Anfänger
Wofür ist der Konstruktor?
5. Tag von Java
Das Verfahren zur Bewerbung für die Java Bronze-Qualifikationsprüfung ist zu kompliziert.
[Anmerkung] Java: Ist es notwendig, Gleichheit für die Beurteilung der Gleichheit zu überschreiben?