Maison >Java >javaDidacticiel >API Stream en Java 8 : Comment filtrer les éléments d'une collection à l'aide de la méthode filter()

API Stream en Java 8 : Comment filtrer les éléments d'une collection à l'aide de la méthode filter()

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2023-08-01 08:43:483513parcourir

API Stream en Java 8 : Comment utiliser la méthode filter() pour filtrer des éléments dans une collection

Introduction :
Java 8 introduit l'API Stream, qui nous offre un moyen plus simple et plus efficace de traiter les collections. Stream est une nouvelle couche d'abstraction fournie par Java 8, qui nous permet de traiter diverses données de manière fonctionnelle. Dans l'API Stream, la méthode filter() est l'une des méthodes très utiles qui peuvent être utilisées pour filtrer les éléments de la collection. Dans cet article, nous examinerons plus en détail la méthode filter() et explorerons son utilisation et ses exemples.

1. Qu'est-ce que la méthode filter() ? La méthode filter() est une méthode d'opération intermédiaire dans l'API Stream. Il reçoit une interface fonctionnelle Predicate en paramètre, qui est utilisée pour filtrer les éléments de la collection. L'interface Predicate définit une méthode test(T t), qui est utilisée pour juger conditionnellement les paramètres donnés et renvoyer une valeur booléenne. La méthode filter() transmet chaque élément de la collection en tant que paramètre à la méthode test() de Predicate. Si true est renvoyé, l'élément est conservé, sinon il est ignoré.

2. Comment utiliser la méthode filter()

Pour utiliser la méthode filter(), vous devez d'abord créer une collection puis la convertir en Stream. Appelez ensuite la méthode filter() et utilisez l’interface fonctionnelle Predicate comme paramètre. La méthode filter() renverra un nouveau Stream contenant des éléments qui répondent aux critères. Enfin, traitez ce nouveau Stream en utilisant la méthode d’opération du terminal.

Voici un exemple de code qui montre l'utilisation de la méthode filter() :

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class FilterExample {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);

        // 使用filter()方法筛选偶数
        List<Integer> evenNumbers = numbers.stream()
                .filter(n -> n % 2 == 0)
                .collect(Collectors.toList());

        System.out.println("偶数列表:" + evenNumbers);
    }
}

Dans l'exemple ci-dessus, nous créons d'abord un objet Listc0f559cc8d56b43654fcbe4aa9df7b4a Ensuite, nous convertissons cet objet List en un objet Stream et utilisons la méthode filter() pour filtrer les nombres pairs. Dans les paramètres de la méthode filter(), nous utilisons l'expression Lambda n -> n % 2 == 0 pour déterminer si le nombre est pair. Enfin, nous utilisons la méthode collect() pour convertir les résultats filtrés en un objet List et l'imprimer.

Le résultat de sortie est : "Liste de nombres pairs : [2, 4]"

3. Scénarios d'application de la méthode filter()

La méthode filter() a de nombreux scénarios d'application en développement réel. Voici quelques scénarios courants :

    Filtrez les éléments qui remplissent une certaine condition. Par exemple, filtrez tous les étudiants de plus de 18 ans d’une liste d’étudiants.
  1. List<Student> adults = students.stream()
            .filter(s -> s.getAge() > 18)
            .collect(Collectors.toList());
    Filtrez une certaine gamme d'éléments. Par exemple, filtrez tous les nombres supérieurs ou égaux à 10 et inférieurs ou égaux à 20 d’une liste de nombres.
  1. List<Integer> range = numbers.stream()
            .filter(n -> n >= 10 && n <= 20)
            .collect(Collectors.toList());
    Filtrez les éléments non vides. Par exemple, filtrez toutes les chaînes non vides d’une liste de chaînes.
  1. List<String> nonEmptyStrings = strings.stream()
            .filter(s -> s != null && !s.isEmpty())
            .collect(Collectors.toList());
Résumé : La méthode

filter() est une méthode très couramment utilisée dans l'API Stream, qui peut nous aider à filtrer efficacement les éléments de la collection. En utilisant la méthode filter(), nous pouvons traiter les données de manière concise et élégante. J'espère que cet article vous aidera à comprendre l'utilisation de la méthode filter() et pourra être utilisé de manière flexible dans des projets réels.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn