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é.
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.
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); } }
La méthode filter() a de nombreux scénarios d'application en développement réel. Voici quelques scénarios courants :
List<Student> adults = students.stream() .filter(s -> s.getAge() > 18) .collect(Collectors.toList());
List<Integer> range = numbers.stream() .filter(n -> n >= 10 && n <= 20) .collect(Collectors.toList());
List<String> nonEmptyStrings = strings.stream() .filter(s -> s != null && !s.isEmpty()) .collect(Collectors.toList());
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!