java怎么实现对数组过滤
在 java 中,对数组过滤的方法有:java 8 中的流 api:filter() 和 distinct()apache commons lang 的 arrayutils:filter() 和 removeduplicates()自定义过滤函数:arrays.stream() 和 filter()
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怎么实现对数组过滤的详细内容,更多请关注硕下网其它相关文章!