迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中检查数组是否包含特定值

作者:迹忆客 最近更新:2023/09/17 浏览次数:

数组是按一定顺序排列的元素的系统集合。在内部,数组元素存储在连续的内存位置。

有多种方法可以搜索数组中的元素。不同的方法导致不同的时间和复杂性。下面列出了几种在数组中搜索元素的方法。


使用 Java 中的 array.contains() 方法检查数组是否包含特定值

在下面的代码块中,我们需要用一些预定义的值实例化一个数组 arr。现在,初始化我们要搜索的字符串。

Arrays 是一个具有各种操作数组方法的类。此类包含静态工厂方法和字段,它们在搜索和排序数组中的元素时非常有用。

asList() 方法是 Arrays 类的静态方法。它返回从参数中获取的指定数组的固定列表。

contains()List 接口中的一个方法。它接受一个元素作为参数,我们将这个参数与列表中存在的元素进行比较。如果指定的元素存在于列表中,则返回布尔值 true,在任何一种情况下都返回 false。如果指定元素的类型与此列表不兼容,则该方法抛出 ClassCastException;如果指定值为 null 且此列表不允许空值,则该方法抛出 NullPointerException

package findInList;

import java.util.Arrays;

public class FindAValueInArray {
    public static void main(String[] args) {
        String[] arr = new String[]{"1", "2", "3"};
        String stringToSearch = "2";
        System.out.println(Arrays.asList(arr).contains(stringToSearch));
    }
}

上述程序的输出如下。

true

使用 Java 8 流检查数组包含特定值

在上面的代码块中,前两行与第一个代码中的类似。这里我们使用了 Arrays 类的 stream 方法来创建数组流。此方法返回一个以指定数组为源的顺序流。Stream 类有一个名为 anyMatch() 的函数。该方法将谓词作为其输入。

Predicate 是一个函数式接口,它接受一个参数函数并返回一个 Boolean 值。它包含一个 test(T t) 方法,用于评估给定参数的谓词。如果流的任何元素与提供的谓词匹配,则返回 true,否则返回 false 值。

package findInList;

import java.util.Arrays;

public class FindAValueInArray {
    public static void main(String[] args) {
        String[] arr = new String[]{"1", "2", "3"};
        String stringToSearch = "2";
        System.out.println(Arrays.stream(arr).anyMatch(s -> s.equals(stringToSearch)));
    }
}

上述代码的输出与第一个代码相同。


使用简单的 for 循环检查数组是否包含特定值

在下面的代码块中,我们使用传统的 for 循环来迭代数组。for 循环在 expression1 中初始化,计数器值为 0。现在将计数器值与数组的长度进行比较。如果计数器变量小于定义数组的长度,则代码块内的语句将被执行。

for 块内,我们使用 String 类的 equals 方法比较数组的每个元素。如果状态评估为真,则使用 break 关键字来中断 for 循环的执行。如果没有找到,代码将被执行与数组中元素数量一样多的次数。

在循环之后,如果在列表中搜索到元素,则打印语句会将状态变量的值评估为,否则将打印 false 值。

package findInList;

public class FindAValueInArray {
    public static void main(String[] args) {
        String[] arr = new String[]{"1", "2", "3"};
        String stringToSearch = "2";
        boolean status = false;
        for (int i = 0; i < arr.length; i++) {
            status = arr[i].equals(stringToSearch);
            if (status) break;
        }
        System.out.println(status);
    }
}

输出结果也与第一段代码中给出的相同。

上一篇:在 Java 中创建子数组

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Java 中创建子数组

发布时间:2023/09/17 浏览次数:87 分类:Java

数组可以是任何需要的长度。在声明一个数组时,我们为该数组分配内存。我们也可以在声明期间初始化数组。有时,我们可能只需要从数组中提取一些元素。在本文中,我们将从 Java 中的另一

在 Java 中创建数组的数组

发布时间:2023/09/17 浏览次数:100 分类:Java

在编程中,数组是一种线性数据结构,可以存储相同类型元素的固定大小顺序集合。我们也可以使用数组来存储其他数组。这样,我们创建了一个多维数组。子阵列还可以包含其他阵列。在本文

在 Java 中创建对象数组

发布时间:2023/09/17 浏览次数:103 分类:Java

本文将介绍在 Java 中创建对象数组的方法。本文还将演示对象的实例化及其实现。

在 Java 函数中返回两个值

发布时间:2023/09/17 浏览次数:115 分类:Java

在 Java 中,没有将两个值返回给函数的特权。解决多值返回带来的问题,可以通过创建一个用户定义的类来存储输出,或者使用内置的数据类型如 Array,Pair(如果只有两个值需要返回),Hash

Java 中将数组传递给方法

发布时间:2023/09/17 浏览次数:114 分类:Java

本文介绍如何将数组传递给 Java 中的方法。我们还列出了一些示例代码以帮助你理解该主题。Java 是一种强大的面向对象的编程语言;它是一种通用编程语言,可用于各种目的。让我们学习 Ja

Java 中的数组范围

发布时间:2023/09/17 浏览次数:170 分类:Java

完成数组切片以从现有数组中获取一系列元素。这就像从给定数组中提取子数组。本文介绍了如何从现有数组中获取一系列元素。

Java 中的打乱数组

发布时间:2023/09/11 浏览次数:173 分类:Java

本教程演示了如何在 Java 中打乱数组。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便