java怎么实现对数组过滤

ID:18251 / 打印
在 java 中,对数组过滤的方法有:java 8 中的流 api:filter() 和 distinct()apache commons lang 的 arrayutils:filter() 和 removeduplicates()自定义过滤函数:arrays.stream() 和 filter()

java怎么实现对数组过滤

Java 中对数组过滤

在 Java 中,可以使用以下方法对数组进行过滤:

1. Java 8 中的流 API

流 API 提供了以下方法进行过滤:

立即学习“Java免费学习笔记(深入)”;

  • filter():根据给定谓词过滤元素,返回一个新的流,其中包含满足谓词的元素。
  • distinct():从流中移除重复元素。

代码示例:

import java.util.Arrays;  public class ArrayFilter {      public static void main(String[] args) {         int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};          // 过滤出偶数         int[] evenNumbers = Arrays.stream(numbers)                 .filter(n -> n % 2 == 0)                 .toArray();          // 过滤出重复元素         int[] distinctNumbers = Arrays.stream(numbers)                 .distinct()                 .toArray();     } }

2. Apache Commons Lang 的 ArrayUtils

Apache Commons Lang 提供了以下方法进行过滤:

  • filter():使用给定的过滤器函数过滤数组元素,返回一个新数组。

代码示例:

import org.apache.commons.lang3.ArrayUtils;  public class ArrayFilter {      public static void main(String[] args) {         int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};          // 过滤出偶数         int[] evenNumbers = ArrayUtils.filter(numbers, n -> n % 2 == 0);          // 过滤出重复元素         int[] distinctNumbers = ArrayUtils.removeDuplicates(numbers);     } }

3. 自定义过滤函数

还可以创建自定义过滤函数,并使用以下方法将其应用于数组:

  • Arrays.stream():将数组转换为流。
  • filter():使用自定义过滤函数过滤流。

代码示例:

public class ArrayFilter {      public static void main(String[] args) {         int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};          // 过滤出偶数         int[] evenNumbers = Arrays.stream(numbers)                 .filter(ArrayFilter::isEven)                 .toArray();          // 过滤出奇数         int[] oddNumbers = Arrays.stream(numbers)                 .filter(ArrayFilter::isOdd)                 .toArray();          // 自定义过滤函数         private static boolean isEven(int n) {             return n % 2 == 0;         }          private static boolean isOdd(int n) {             return n % 2 != 0;         }     } }
上一篇: java怎么创建类的对象数组
下一篇: java中随机数组怎么定义

作者:admin @ 24资源网   2024-11-26

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。