Java中如何检查数组是否包含某整数
作者:火焰兔
在 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检查数组是否包含某整数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!