检查数组是否包含Java中的整数

时间:2016-12-17 12:17:00

标签: java arrays

这是可能的,如果是这样,我该如何正确地做到这一点?希望能够检查它是否包含1和2,如果是,则继续执行该程序。

import java.util.*;

public class test
{
    public static void main(String [] args) {
        int[] field = {1, 2};

        if (Arrays.asList(field).contains(1) && Arrays.asList(field).contains(2)) {
            System.out.println("Hello World!");
        }
   }
}

2 个答案:

答案 0 :(得分:7)

您可以在Java 8中使用IntStream

if (IntStream.of(field).anyMatch(i -> i == 1) &&
    IntStream.of(field).anyMatch(i -> i == 2)) {
    // has a 1 and a 2

答案 1 :(得分:1)

Arrays.asList适用于通用类型,int[]的最接近匹配是Object。因此,您获得了List int[]。您可以在Java 8+中使用IntStream,如

if (IntStream.of(field).anyMatch(x -> x == 1) && 
        IntStream.of(field).anyMatch(x -> x == 2)) {
    System.out.println("Hello World!");
}