java怎么实现对数组过滤

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

java怎么实现对数组过滤

Java 中对数组过滤

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

1. Java 8 中的流 API

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

  • 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怎么实现对数组过滤的详细内容,更多请关注硕下网其它相关文章!