Java中如何检查数组是否包含某整数

 更新时间:2023年05月24日 15:24:50   作者:火焰兔  
这篇文章主要介绍了在 Java 中检查数组是否包含某整数,在本文中,我们使用了几个内置的方法,如anyMatch()、contains()、binarySearch()等,我们将在给定的数组中找到一个值,结合示例代码给大家介绍的非常详细,需要的朋友可以参考下

在 Java 中检查数组是否包含某整数

本教程介绍了如何在 Java 中检查一个数组是否包含整数值,并列举了一些示例代码来理解这个主题。

数组是一个存储相同数据类型元素的容器。例如,一个整数组只能有整数类型的值。在这里,我们将检查一个数组是否包含给定的指定值。在本文中,我们使用了几个内置的方法,如 anyMatch()contains()binarySearch() 等,我们将在给定的数组中找到一个值。

使用 anyMatch()方法检查数组是否包含指定的值

我们可以使用 anyMatch() 方法在给定的数组中找到指定的值。这个方法返回一个布尔值,要么是 true,要么是 false,它需要一个 lambda 表达式作为参数,可以在 Java 8 或更高版本中使用。

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
            int[] arr = {10,25,23,14,85,65};
            int key = 14;
            boolean val = contains(arr, key);
            System.out.println("Array contains "+key+"? \n"+val);
    }
    public static boolean contains(final int[] arr, final int key) {
        return Arrays.stream(arr).anyMatch(i -> i == key);
    }
}

输出:

Array contains 14?
true

使用 contains() 方法检查数组中是否包含指定的值

我们可以使用 contains() 方法在给定数组中找到指定的值。这个方法返回一个布尔值,要么是 true,要么是 false。它需要两个参数,第一个是数组,第二个是要查找的值。contains() 方法属于 Apache commons 库的 ArrayUtils 类。请看下面的例子。

import org.apache.commons.lang3.ArrayUtils;
public class SimpleTesting{
    public static void main(String[] args) {
            int[] arr = {10,25,23,14,85,65};
            int key = 14;
            boolean val = contains(arr, key);
            System.out.println("Array contains "+key+"? \n"+val);
    }
    public static boolean contains(final int[] arr, final int key) {
        return ArrayUtils.contains(arr, key);
    }
}

输出:

Array contains 14?
true

使用列表的 contains() 方法检查一个数组是否包含指定的值

我们可以通过 Arrays.asList() 将数组转换为列表,然后使用列表的 contains() 方法在给定数组中找到指定的值。这个方法返回一个布尔值,可以是 true 或 false。它以一个需要被找到的值作为参数。请看下面的例子。

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
            int[] arr = {10,25,23,14,85,65};
            int key = 14;
            boolean val = contains(arr, key);
            System.out.println("Array contains "+key+"? \n"+val);
    }
    public static boolean contains(final int[] arr, final int key) {
        return Arrays.asList(arr).contains(key);
    }
}

输出:

Array contains 14?
true

使用 binarySearch() 方法检查一个数组是否包含指定的值

我们可以使用 binarySearch() 方法在给定的数组中找到指定的值。这个方法在匹配后返回一个值。如果数组是已经排序的,那么它就会工作,所以在应用这个方法之前,先对数组进行排序。请看下面的例子。

import java.util.Arrays;
public class SimpleTesting{
    public static void main(String[] args) {
            int[] arr = {10,25,23,14,85,65};
            int key = 14;
            boolean val = contains(arr, key);
            System.out.println("Array contains "+key+"? \n"+val);
    }
    public static boolean contains(final int[] arr, final int key) {
         Arrays.sort(arr);
         return Arrays.binarySearch(arr, key) >= 0;
    }
}

输出:

Array contains 14?
true

使用自定义代码检查数组是否包含指定的值

我们可以使用自定义代码在给定的数组中找到指定的值。我们创建一个自定义方法来查找数组中的值,并返回一个布尔值,要么是 true,要么是 false。这个方法需要两个参数,第一个是数组,第二个是需要找到的值。请看下面的例子。

public class SimpleTesting{
    public static void main(String[] args) {
        int[] arr = {10,25,23,14,85,65};
        int key = 14;
        boolean val = contains(arr, key);
        System.out.println("Array contains "+key+"? \n"+val);
    }
    public static boolean contains(final int[] arr, final int key) {
        boolean found = false;
        for(int i = 0; i < arr.length; i++) {
            if(arr[i]==key) {
                found=true;
            }
        }
        return found;
    }
}

输出:

Array contains 14?
true

Java之判断数组中是否包含某个值

方式一:使用Arrays.asList(str).contains()

public static boolean useList(String[] arr, String targetValue) {
        return Arrays.asList(arr).contains(targetValue);
    }

示例如下:

 String[] str={"学历教育","专业教育","通识教育","其它在职训"} ;
                if (!Arrays.asList(str).contains(excels.get(i).getTrainingType())){
                    return new BaseResult<>(BaseErrMsg.DB_INSERT_FAILURE,"第"+(i+1)+"行教育训练类别有误,请重新输入!");
                }

方式二:使用set.contains()

 public static boolean useSet(String[] arr, String targetValue) {
        Set<String> set = new HashSet<String>(Arrays.asList(arr));
        return set.contains(targetValue);
    }

方式三:使用for循环

public static boolean useLoop(String[] arr, String targetValue) {
        for (String s : arr) {
            if (s.equals(targetValue))
                return true;
        }
        return false;
    }

到此这篇关于在 Java 中检查数组是否包含某整数的文章就介绍到这了,更多相关java检查数组是否包含某整数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中的Optional类详细解读

    Java中的Optional类详细解读

    这篇文章主要介绍了Java中的Optional类详细解读,Optional是Java中的一个类,它的作用是用于解决空指针异常的问题,它提供了一些有用的方法,可以帮助我们避免显式进行空值检测,需要的朋友可以参考下
    2023-08-08
  • 详解基于MVC的数据查询模块进行模糊查询

    详解基于MVC的数据查询模块进行模糊查询

    这篇文章主要介绍了Java基于MVC的数据查询模块进行模糊查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • @Autowired注解以及失效的几个原因图文详解

    @Autowired注解以及失效的几个原因图文详解

    在微服务项目中,会遇到@Autowired注解失效的情况,下面这篇文章主要给大家介绍了关于@Autowired注解以及失效的几个原因的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • Java+Swing实现中国象棋游戏

    Java+Swing实现中国象棋游戏

    这篇文章将通过Java+Swing实现经典的中国象棋游戏。文中可以实现开始游戏,悔棋,退出等功能。感兴趣的小伙伴可以跟随小编一起动手试一试
    2022-02-02
  • Springboot整合Urule的方法步骤

    Springboot整合Urule的方法步骤

    这篇文章主要介绍了Springboot整合Urule的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • SpringBoot手动使用EhCache的方法示例

    SpringBoot手动使用EhCache的方法示例

    本篇文章主要介绍了SpringBoot手动使用EhCache的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • JVM---jstack分析Java线程CPU占用,线程死锁的解决

    JVM---jstack分析Java线程CPU占用,线程死锁的解决

    这篇文章主要介绍了JVM---jstack分析Java线程CPU占用,线程死锁的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • java使用Validation进行数据校验的方式总结

    java使用Validation进行数据校验的方式总结

    在Java中提供了一系列的校验方式,下面这篇文章主要给大家介绍了关于java使用Validation进行数据校验的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • java中的Io(input与output)操作总结(四)

    java中的Io(input与output)操作总结(四)

    前面已经把java io的主要操作讲完了,这一节我们来说说关于java io的其他内容:Serializable序列化/DataOutputStream和DataInputStream类/管道流等等,感兴趣的朋友可以了解下
    2013-01-01
  • 详解如何使用IntelliJ IDEA新建一个Servlet项目

    详解如何使用IntelliJ IDEA新建一个Servlet项目

    这篇文章主要介绍了详解如何使用IntelliJ IDEA新建一个Servlet项目,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11

最新评论