Java程序检查数组是否包含给定值 - Java教程

由网友 大卫 发布 阅读 23

Java程序检查数组是否包含给定值 - Java教程

Java 实例大全

在此程序中,您将学习Java中检查数组是否包含给定值。

示例1:检查Int数组是否包含给定值

public class Contains {

    public static void main(String[] args) {
        int[] num = {1, 2, 3, 4, 5};
        int toFind = 3;
        boolean found = false;

        for (int n : num) {
            if (n == toFind) {
                found = true;
                break;
            }
        }

        if(found)
            System.out.println(toFind + " 找到");
        else
            System.out.println(toFind + " 未找到");
    }
}

运行该程序时,输出为:

3 找到

在上面的程序中,我们有一个存储在变量num中的整数数组。 同样,要查找的数字存储在toFind中

现在,我们使用一个foreach循环遍历num的所有元素,并分别检查toFind是否等于n

如果是,我们将find设置为true并退出循环。 如果不是,我们转到下一个迭代

示例2:使用Stream检查数组是否包含给定值

import java.util.stream.IntStream;

public class Contains {

    public static void main(String[] args) {
        int[] num = {1, 2, 3, 4, 5};
        int toFind = 7;

        boolean found = IntStream.of(num).anyMatch(n -> n == toFind);

        if(found)
            System.out.println(toFind + " 找到");
        else
            System.out.println(toFind + " 未找到");
    }
}

运行该程序时,输出为:

7 未找到

在上面的程序中,我们没有使用foreach循环,而是将数组转换为IntStream并使用其anyMatch()方法

anyMatch()方法采用谓词,表达式或返回布尔值的函数。 在我们的实例中,谓词将流中的每个元素n与toFind进行比较,并返回true或false

如果元素n中的任何一个返回true,则found也将设置为true

示例3:检查数组是否包含非原始类型的给定值

import java.util.Arrays;

public class Contains {

    public static void main(String[] args) {
        String[] strings = {"One", "Two", "Three", "Four", "Five"};
        String toFind = "Four";

        boolean found = Arrays.stream(strings).anyMatch(t -> t.equals(toFind));

        if(found)
            System.out.println(toFind + " 找到");
        else
            System.out.println(toFind + " 未找到");
    }
}

运行该程序时,输出为:

Four 找到

在上面的程序中,我们使用了非原始数据类型String,并使用了Arrays的stream()方法首先将其转换为流,并使用anyMatch()来检查数组是否包含给定值toFind

Java 实例大全

Java程序获取当前日期/时间 Java程序合并两个列表