Je veux ForEach un tableau avec une expression Lambda en Java

Lors de l'utilisation de l'instruction for, je me demandais ce qui se passerait si je l'écrivais dans une expression lambda, je vais donc la mettre sous forme de mémorandum.

Le comportement dans l'instruction for

  1. Appel de fonction
  2. Appel conditionnel d'une fonction
  3. Traitez la valeur et appelez la fonction est.

Pour le test d'énoncé 1



	public static void main(String[] args){
		int[] foos = {1, 2, 3, 4, 5};
		
		//Instruction For ordinaire
		for(int i = 0; i < foos.length; i++){
			function(foos[i]);
		}
		
		//Instruction Extended For
		for(int foo : foos){
			function(foo);
		}
		
		//expression lambda
		Arrays.stream(foos).forEach(foo -> function(foo));

		//Avec l'inférence de type d'expression lambda * Test.function(int)Appelle
		Arrays.stream(foos).forEach(Test::function);
	}

Pour le test d'énoncé 2



	public static void main(String[] args){
		int[] foos = {1, 2, 3, 4, 5};
		
		//Instruction For ordinaire
		for(int i = 0; i < foos.length; i++){
			if(condition(foos[i])){
				function(foos[i]);
			}
		}
		
		//Instruction Extended For
		for(int foo : foos){
			if(condition(foo)){
				function(foo);
			}
		}
		
		//expression lambda manière naïve d'écrire
		Arrays.stream(foos).forEach(foo -> {
			if(condition(foo)){
				function(foo);
			}
		});
		
		//expression lambda plus fonctionnelle
		Arrays.stream(foos)
			.filter(foo -> condition(foo))
			.forEach(foo -> function(foo));

		//Avec l'inférence de type d'expression lambda
		Arrays.stream(foos)
			.filter(Test::condition)
			.forEach(Test::function);
	}

Pour le test de déclaration 3



	//Instruction For ordinaire
	for(int i = 0; i < foos.length; i++){
		int tmp = offset(foos[i]);
		function(tmp);
	}

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

	//expression lambda
	Arrays.stream(foos)
		.map(Test::offset)
		.forEach(Test::function);

Recommended Posts

Je veux ForEach un tableau avec une expression Lambda en Java
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3
Je souhaite envoyer un e-mail en Java.
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3 (édition PowerMockito)
Même en Java, je veux sortir true avec un == 1 && a == 2 && a == 3 (deuxième décoction Javassist)
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3 (Black Magic)
[Java] Je souhaite convertir un tableau d'octets en un nombre hexadécimal
Je veux faire une liste avec kotlin et java!
Je veux créer une fonction avec kotlin et java!
Je souhaite renvoyer un objet au format CSV avec en-tête et filtre multilignes en Java
Convertir un tableau de chaînes en une liste d'entiers en Java
[Java] Je veux effectuer distinctement avec la clé dans l'objet
Je veux extraire entre des chaînes de caractères avec une expression régulière
Je veux écrire une boucle qui fait référence à un index avec l'API Stream de Java 8
[Java] Comment transformer un tableau à deux dimensions avec une instruction for étendue
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
rsync4j --Je veux toucher rsync en Java.
Comment utiliser l'API Java avec des expressions lambda
Je souhaite afficher un PDF chinois (coréen) avec des rapports fins
Java 8 pour démarrer maintenant ~ for Each et expression lambda ~
J'ai écrit une fonction Lambda en Java et l'ai déployée avec SAM
J'ai essayé de casser le bloc avec java (1)
Je veux faire quelque chose comme "cls" en Java
Je veux aussi utiliser ES2015 avec Java! → (´ ・ ω ・ `)
Je veux utiliser une petite icône dans Rails
J'ai essayé de créer une compétence Clova en Java
Je souhaite surveiller un fichier spécifique avec WatchService
J'ai essayé de créer une fonction de connexion avec Java
Comment sortir le standard d'un tableau avec for Each
Implémentez rapidement singleton avec enum en Java
Je souhaite définir une fonction dans la console Rails
Je veux faire des transitions d'écran avec kotlin et java!
Comment convertir un fichier en tableau d'octets en Java
Je veux cliquer sur une broche GoogleMap dans RSpec
[Rubiy] Je veux créer un tableau à partir d'une chaîne de caractères avec la méthode split. Et vice versa.
Faisons une application TODO avec Java 2 Je veux créer un modèle avec Spring Initializr et créer Hello world
Passer les conditions utilisées dans le filtre d'expression lambda Java8 () comme paramètres
Attribuer des expressions lambda Java8 aux variables et les réutiliser
J'ai essayé de moderniser une application Java EE avec OpenShift.
Je veux trouver un chemin relatif dans une situation où Path est utilisé
Je souhaite créer une applet Java sans utiliser d'IDE
Je veux pousser une application créée avec Rails 6 vers GitHub
Convertir un tableau d'octets Java en une chaîne hexadécimale
Comment changer une chaîne dans un tableau en un nombre dans Ruby
Je voulais juste créer une propriété réactive en Java
Créer un SlackBot avec AWS lambda et API Gateway en Java
J'ai essayé de convertir une chaîne de caractères en un type LocalDate en Java
Je veux créer un fichier Parquet même en Ruby
Je souhaite envoyer manuellement un e-mail d'autorisation avec Devise
J'ai créé un client RESAS-API en Java
Je veux implémenter diverses fonctions avec kotlin et java!
[Java] Je souhaite tester l'entrée standard et la sortie standard avec JUnit
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java
Même en Java, je veux sortir vrai avec un == 1 && a == 2 && a == 3 (magie grise qui n'est pas tant que magie noire)
Même en Java, je veux sortir true avec un == 1 && a == 2 && a == 3 (Royal road edition qui n'est ni magique ni rien)
J'ai envoyé un e-mail en Java
J'ai créé un PDF avec Java.
Après avoir publié un article avec Rails Simple Calendar, je souhaite le refléter dans le calendrier.