Poser une question
Comment utiliser les expressions lambda et Stream de Java ? ? ?
Résoudre le problème
La syntaxe de l'expression Lambda
Syntaxe de base :
[code](parameters) -> expression 或 (parameters) ->{ statements; }
Regardez les exemples pour apprendre !
Exemple 1 : Définir une classe AyPerson pour préparer les tests ultérieurs.
[code]package com.evada.de; import java.util.Arrays; import java.util.List; class AyPerson{ private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public AyPerson(String id, String name) { this.id = id; this.name = name; } } /** * Created by Ay on 2016/5/9. */ public class LambdaTest { public static void main(String[] args) { List<String> names = Arrays.asList("Ay", "Al", "Xy", "Xl"); names.forEach((name) -> System.out.println(name + ";")); } }
L'exemple ci-dessus names.forEach((name) -> System.out.println(name «;»)
est similaire à :
function(name){//name为参数 System.out.println(name + “;”);//方法体 }Résultat :
[code]Ay; Al; Xy; Xl;Exemple 2 : Copiez le code suivant dans la fonction principale ci-dessus
[code]List<Student> personList = new ArrayList<>(); personList.add(new Student("00001","Ay")); personList.add(new Student("00002","Al")); personList.add(new Student("00003","To")); personList.forEach((person) -> System.out.println(person.getId()+ ":" + person.getName()));Résultat :
[code]00001:Ay 00002:Al 00003:ToExemple 3 : Lambda Et méthode f**ilter()** dans la classe Stream
[code]List<AyPerson> personList = new ArrayList<>(); personList.add(new AyPerson("00001","Ay")); personList.add(new AyPerson("00002","Al")); personList.add(new AyPerson("00003", "To")); //stream类中的filter方法 personList.stream() //过滤集合中person的id为00001 .filter((person) -> person.getId().equals("00001")) //将过滤后的结果循环打印出来 .forEach((person) -> System.out.println(person.getId() + ":" + person.getName()));Résultat :
[code]00001:AyExemple 4 : méthode collect() dans la classe Stream,
[code] List<AyPerson> personList = new ArrayList<>(); List<AyPerson> newPersonList = null; personList.add(new AyPerson("00001","Ay")); personList.add(new AyPerson("00002","Al")); personList.add(new AyPerson("00003", "To")); //将过滤后的结果返回到一个新的List中 newPersonList = personList.stream() .filter((person) -> person.getId().equals("00002")).collect(Collectors.toList()); //打印结果集 newPersonList.forEach((person) -> System.out.println(person.getId() + ":" + person.getName()));
[code]00002:Al
Stream Il existe de nombreuses méthodes utiles qui peuvent être utilisées, telles que le comptage, la limite, etc. Vous pouvez accéder à l'API pour apprendre par vous-même
Ce qui précède sont les expressions Lambda et le contenu d'exemples simples de la classe Stream. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !