在 Java 中判断一个数是否在数组中,有以下几种方法:线性搜索:遍历数组每个元素,检查是否与目标数字相等。二分搜索(数组已排序):将数组分成两半,根据目标数字的值在前半部分或后半部分继续搜索。Java 8 Stream API:使用 stream()、filter() 和 findFirst() 查找第一个与目标数字相等的元素。
如何判断一个数在 Java 数组中
判断一个数是否在一个 Java 数组中是数组操作中的一项基本任务。以下列出了几种在 Java 中判断一个数在数组中是否存在的方法:
使用线性搜索
true。false。Java 代码:
public static boolean linearSearch(int[] arr, int target) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == target) {
return true;
}
}
return false;
}使用二分搜索(前提是数组已排序)
true。false。Java 代码:
public static boolean binarySearch(int[] arr, int target) {
int left = 0;
int right = arr.length - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == target) {
return true;
} else if (arr[mid] < t
arget) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return false;
}使用 Java 8 Stream API
Arrays.stream(arr) 创建数组流。filter(n -> n == target) 过滤出等于目标数字的元素。findFirst() 查找第一个匹配的元素。Optional.empty()。Java 代码:
public static boolean streamSearch(int[] arr, int target) {
return Arrays.stream(arr)
.filter(n -> n == target)
.findFirst()
.isPresent();
}