在 Java 中检查数组是否包含特定值
数组是按一定顺序排列的元素的系统集合。在内部,数组元素存储在连续的内存位置。
有多种方法可以搜索数组中的元素。不同的方法导致不同的时间和复杂性。下面列出了几种在数组中搜索元素的方法。
使用 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 中创建子数组
发布时间:2023/09/17 浏览次数:87 分类:Java
-
数组可以是任何需要的长度。在声明一个数组时,我们为该数组分配内存。我们也可以在声明期间初始化数组。有时,我们可能只需要从数组中提取一些元素。在本文中,我们将从 Java 中的另一
在 Java 中创建数组的数组
发布时间:2023/09/17 浏览次数:100 分类: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
-
完成数组切片以从现有数组中获取一系列元素。这就像从给定数组中提取子数组。本文介绍了如何从现有数组中获取一系列元素。