Ich möchte für jedes Array mit Lambda-Ausdruck in Java

Bei der Verwendung der for-Anweisung habe ich mich gefragt, was passieren würde, wenn ich sie in einem Lambda-Ausdruck schreibe, also werde ich sie als Memorandum einfügen.

Das Verhalten in der for-Anweisung

  1. Funktionsaufruf
  2. Rufen Sie bedingt eine Funktion auf
  3. Verarbeiten Sie den Wert und rufen Sie die Funktion auf ist.

Für Anweisungstest 1



	public static void main(String[] args){
		int[] foos = {1, 2, 3, 4, 5};
		
		//Ordentlich Für Aussage
		for(int i = 0; i < foos.length; i++){
			function(foos[i]);
		}
		
		//Extended For-Anweisung
		for(int foo : foos){
			function(foo);
		}
		
		//Lambda-Ausdruck
		Arrays.stream(foos).forEach(foo -> function(foo));

		//Mit Lambda-Ausdruckstyp Inferenz * Test.function(int)Ruft an
		Arrays.stream(foos).forEach(Test::function);
	}

Für Aussage Test 2



	public static void main(String[] args){
		int[] foos = {1, 2, 3, 4, 5};
		
		//Ordentlich Für Aussage
		for(int i = 0; i < foos.length; i++){
			if(condition(foos[i])){
				function(foos[i]);
			}
		}
		
		//Extended For-Anweisung
		for(int foo : foos){
			if(condition(foo)){
				function(foo);
			}
		}
		
		//Lambda Ausdruck naive Schreibweise
		Arrays.stream(foos).forEach(foo -> {
			if(condition(foo)){
				function(foo);
			}
		});
		
		//Lambda-Ausdruck funktioneller
		Arrays.stream(foos)
			.filter(foo -> condition(foo))
			.forEach(foo -> function(foo));

		//Mit Lambda-Ausdruckstyp-Inferenz
		Arrays.stream(foos)
			.filter(Test::condition)
			.forEach(Test::function);
	}

Für Aussage Test 3



	//Ordentlich Für Aussage
	for(int i = 0; i < foos.length; i++){
		int tmp = offset(foos[i]);
		function(tmp);
	}

	//Extended For-Anweisung
	for(int foo : foos){
		int tmp = offset(foo);
		function(tmp);
	}

	//Lambda-Ausdruck
	Arrays.stream(foos)
		.map(Test::offset)
		.forEach(Test::function);

Recommended Posts

Ich möchte für jedes Array mit Lambda-Ausdruck in Java
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ich möchte eine E-Mail in Java senden.
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (PowerMockito Edition)
Sogar in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (Javassist zweite Abkochung)
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 (Black Magic) ausgeben.
[Java] Ich möchte ein Byte-Array in eine Hexadezimalzahl konvertieren
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich möchte ein Objekt im CSV-Format mit mehrzeiligem Header und Filter in Java zurückgeben
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Ich möchte mit einem regulären Ausdruck zwischen Zeichenketten extrahieren
Ich möchte eine Schleife schreiben, die auf einen Index mit der Stream-API von Java 8 verweist
[Java] So drehen Sie ein zweidimensionales Array mit einer erweiterten for-Anweisung
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
rsync4j - Ich möchte rsync in Java berühren.
Verwendung der Java-API mit Lambda-Ausdrücken
Ich möchte ein chinesisches (koreanisches) PDF mit dünnen Berichten anzeigen
Java 8 startet jetzt ~ für jeden und Lambda-Ausdruck ~
Ich habe eine Lambda-Funktion in Java geschrieben und mit SAM bereitgestellt
Ich habe versucht, den Block mit Java zu brechen (1)
Ich möchte so etwas wie "cls" in Java machen
Ich möchte ES2015 auch in Java verwenden! → (´ ・ ω ・ `)
Ich möchte ein kleines Symbol in Rails verwenden
Ich habe versucht, eine Clova-Fähigkeit in Java zu erstellen
Ich möchte eine bestimmte Datei mit WatchService überwachen
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
So geben Sie einen Standard aus einem Array mit for Each aus
Implementieren Sie Singleton mit Enum schnell in Java
Ich möchte eine Funktion in der Rails Console definieren
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
So konvertieren Sie eine Datei in ein Byte-Array in Java
Ich möchte in RSpec auf einen GoogleMap-Pin klicken
[Rubiy] Ich möchte mit der Split-Methode ein Array aus einer Zeichenfolge erstellen. Und umgekehrt.
Lassen Sie uns eine TODO-Anwendung mit Java 2 erstellen. Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hello-Welt erstellen
Übergeben Sie die im Java8-Lambda-Ausdruck filter () verwendeten Bedingungen als Parameter
Weisen Sie Variablen Java8-Lambda-Ausdrücke zu und verwenden Sie sie erneut
Ich habe versucht, eine Java EE-Anwendung mit OpenShift zu modernisieren.
Ich möchte einen relativen Pfad in einer Situation finden, in der Pfad verwendet wird
Ich möchte Java Applet ohne Verwendung einer IDE erstellen
Ich möchte eine mit Rails 6 erstellte App an GitHub senden
Konvertieren Sie ein Java-Byte-Array in eine hexadezimale Zeichenfolge
So ändern Sie eine Zeichenfolge in einem Array in eine Zahl in Ruby
Ich wollte nur eine reaktive Eigenschaft in Java erstellen
Erstellen Sie einen SlackBot mit AWS Lambda & API Gateway in Java
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
Ich möchte eine Parkettdatei auch in Ruby erstellen
Ich möchte manuell eine Autorisierungs-E-Mail mit Devise senden
Ich habe einen RESAS-API-Client in Java erstellt
Ich möchte verschiedene Funktionen mit Kotlin und Java implementieren!
[Java] Ich möchte Standardeingabe und Standardausgabe mit JUnit testen
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (graue Magie, die weniger schwarze Magie ist)
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben (Royal Road Edition, die weder Magie noch irgendetwas ist)
Ich habe eine E-Mail in Java gesendet
Ich habe ein PDF mit Java erstellt.
Nachdem ich einen Artikel mit Rails Simple Calendar veröffentlicht habe, möchte ich ihn im Kalender wiedergeben.