Kommen Sie zu den Abkürzungen aus den fünf Beispielen für kursive Java-Listen

Mal sehen, wie man eine iterative Liste mit einer einfachen Liste schreibt. Dieses Mal verwenden wir die folgende Liste von Zeichenfolgen.

list


final List<String> months = 
Arrays.asList("January", "February", "March", "April", "May", "June", "July", "Augast", "September", "October", "November", "December");

Ich möchte nur, dass diese Elemente nacheinander als Standardausgabe ausgegeben werden.

Unterrichtsstil

Verwenden wir zunächst die for-Schleife. Die for-Schleife ist ein zwingender Stil und ein externer Iterator. Im Unterrichtsstil muss ein Großteil des "Wie" der Arbeit vom Programmierer berücksichtigt werden.

1. für Schleife (Indexspezifikation)

Ich denke nicht, dass es besonders schwierig ist. Ausgaben in der Reihenfolge vom ersten Element. Sie müssen den Index angeben, indem Sie ihn einzeln erhöhen.

for-with-index


for (int i = 0; i < months.size(); i++) {
  System.out.println(months.get(i));
}

2. for-Schleife (kein Index angegeben)

Wenn Sie keinen Index benötigen, bietet Java eine erweiterte Steuerungssyntax als eine einfache for-Schleife. Hinter den Kulissen wird die Iterator-Schnittstelle angewendet und die Methoden hasNext () und next () aufgerufen. Daher muss der Programmierer das Ende der Schleife nicht anhand der Größe der Liste angeben.

for-without-index


for (final String month : months) {
  System.out.println(month);
}

Funktionsstil

Java8 hat der Iterable-Schnittstelle eine forEach-Methode hinzugefügt. Es ist ein funktionaler Stil und ein interner Iterator. Der funktionale Stil erleichtert es, sich darauf zu konzentrieren, was zu tun ist.

  1. foreach() Consumer foreach () verwendet den Consumer-Typ als Argument, diese Instanz verarbeitet jedoch das von der accept () -Methode empfangene Argument. Jedes Element in der Liste wird einzeln an die Methode accept () übergeben, sodass es standardmäßig ausgegeben wird.

foreach-comsumer


months.forEach(new Consumer<String>() {
  public void accept(final String month) {
    System.out.println(month);
  }
});
  1. foreach() Lambda Sie können Lambda-Ausdrücke verwenden, um anonyme innere Klassen zu ersetzen (unter Consumer-Instanzen).

foreach-lambda


months.forEach((final String month) -> System.out.println(month));

Da der Java-Compiler eine Typinferenz durchführen kann, kann dies wie folgt weggelassen werden. In diesem Fall fehlt jedoch das Finale und es ist kein unveränderliches Argument mehr.

foreach-lambda


months.forEach(month -> System.out.println(month));

5. Siehe foreach () -Methode

Die Methodenreferenz ist eine Funktion aus Java8, und der Klassenname :: Methodenname ist die Grundform. Da die bereits definierte Methode ohne Angabe des Arguments ausgeführt werden kann, wird sie weiter weggelassen.

foreach-method-reference


months.forEach(System.out::println);

Recommended Posts

Kommen Sie zu den Abkürzungen aus den fünf Beispielen für kursive Java-Listen
[Java] So erhalten Sie die URL der Übergangsquelle
Wie schreibe ich Scala aus der Perspektive von Java
[Java] So erhalten Sie den Maximalwert von HashMap
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
Der Weg von JavaScript nach Java
Vom jungen Java (3 Jahre) bis zu Node.js (4 Jahre). Und der Eindruck, nach Java zurückzukehren
[Java] So konvertieren Sie vom Typ String in den Pfadtyp und erhalten den Pfad
So ermitteln Sie die Länge einer Audiodatei mit Java
Holen Sie sich das Ergebnis von POST in Java
[Java] Ermittelt den Tag eines bestimmten Tages
[Java] So erhalten Sie das aktuelle Verzeichnis
So erhalten Sie das Datum mit Java
Ausgabe des Buches "Einführung in Java"
[Java] Wie man mit der String-Klasse an die Spitze eines bestimmten Strings kommt
So ermitteln Sie den absoluten Pfad eines in Java ausgeführten Verzeichnisses
Ab Java9 werden Klassenkonstruktoren, die primitiven Typen entsprechen, als veraltet markiert.
Ich möchte den Feldnamen des [Java] -Felds erhalten. (Alter Ton)
Ich habe versucht, die Grammatik von R und Java zu übersetzen [Von Zeit zu Zeit aktualisiert]
[Java] Holen Sie sich MimeType aus dem Inhalt der Datei mit Apathce Tika [Kotlin]
[Java] Von zwei Listen zu einer Array-Liste
[Java] Ermittelt die Länge der Ersatzpaarzeichenfolge
So erhalten Sie eine Klasse von Element in Java
Wie komme ich zum heutigen Tag?
[Java] So erhalten Sie die endgültige umgeleitete URL
Java Willkommen im Sumpf der zweidimensionalen Arrays
[Förderung des Ruby-Verständnisses (1)] Wenn Sie von Java zu Ruby wechseln, verstehen Sie zuerst den Unterschied.
[Java] Beispiel eines Programms, das die Maximal- und Minimalwerte von einem Array abruft
[Java] So erhalten Sie mithilfe von Stream auf einfache Weise die längste Zeichenfolge von ArrayList
Beispielcode zum Abrufen der wichtigsten SQL-Typwerte in Java + MySQL 8.0
Änderungen von Java 8 zu Java 11
Summe von Java_1 bis 100
Von Java zu Ruby !!
Rufen Sie die URL des HTTP-Umleitungsziels in Java ab
Von der Einführung des Geräts bis zur Erstellung der Benutzertabelle
[Java] Ich möchte die Differenz zum Datum berechnen
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
Java-Sprache aus der Sicht von Kotlin und C #
Quelle zum Abrufen der Umleitungsquell-URL in Java
[Java] Holen Sie sich die Datei unabhängig von der Umgebung in das JAR
Stand April 2018 So installieren Sie Java 8 auf einem Mac
[Android] So erhalten Sie die Einstellungssprache des Terminals
[Rails] So erhalten Sie den Inhalt starker Parameter
Java: Verwenden Sie Stream, um den Inhalt einer Sammlung zu sortieren
[Swift] So erhalten Sie die Firebase-Dokument-ID
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
Beim Einfügen von Java in MySQL erhalten Sie Auto_Increment_ID (automatischer Nummerierungswert) als Rückgabewert
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
Java, das Daten von Android zu Jetson Nanos ROS überspringt
Migration von Cobol nach JAVA
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Neue Funktionen von Java7 bis Java8
20190803_Java & k8s on Azure Die Geschichte vom Festivalbesuch
Befehl zum Überprüfen der Anzahl und des Status von Java-Threads
Stellen Sie eine Verbindung von Java zu PostgreSQL her
Beispielcode zum Abrufen der Werte der wichtigsten SQL-Typen in Java + Oracle Database 12c