java判断是否在数组中
时间: 2023-09-28 18:05:43 浏览: 103
您可以使用Java中的Arrays类的静态方法binarySearch来判断一个元素是否在一个已排序的数组中,示例如下:
```
import java.util.Arrays;
public class ArraySearchDemo {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int key = 3;
int index = Arrays.binarySearch(arr, key);
if (index < 0) {
System.out.println(key + "不在数组中");
} else {
System.out.println(key + "在数组中,索引为" + index);
}
}
}
```
如果数组中包含指定的元素,则binarySearch方法返回该元素的索引;如果数组中不包含指定的元素,则返回一个负数,表示如果要将该元素插入到数组中应该插入的位置的相反数减一。因此,判断元素是否在数组中时,需要判断返回值是否小于0。
相关问题
Java判断是否在数组中
在Java中,你可以使用`ArrayUtils.contains()`方法或者`Collections.binarySearch()`方法来判断一个元素是否存在于数组中。如果你的数组是一个普通的整数、字符串或自定义类型的数组,可以这样做:
```java
import org.apache.commons.lang3.ArrayUtils; // 如果需要Apache Commons Lang库
// 使用ArrayUtils.contains()
if (ArrayUtils.contains(array, targetValue)) {
System.out.println("元素在数组中");
} else {
System.out.println("元素不在数组中");
}
// 使用Arrays类(适用于基本数据类型)
int[] intArray = {1, 2, 3};
if (Arrays.asList(intArray).contains(targetValue)) {
System.out.println("元素在数组中");
} else {
System.out.println("元素不在数组中");
}
// 对于自定义类型,需实现Comparable接口或者提供equals()方法
String[] stringArray = {"a", "b", "c"};
if (Arrays.asList(stringArray).contains(targetValue)) {
System.out.println("元素在数组中");
}
```
如果你使用的是Java 8及以上版本,还可以使用Stream API简化操作:
```java
if (!Arrays.stream(array).anyMatch(element -> element.equals(targetValue))) {
System.out.println("元素不在数组中");
} else {
System.out.println("元素在数组中");
}
```
java判断是否在数组里面
可以使用循环遍历数组,逐个比较数组元素和目标值是否相等,如果相等则返回true,如果循环结束还没有找到相等的元素,则返回false。
示例代码如下:
```
public static boolean isInArray(int[] arr, int target) {
for (int i = 0; i < arr.length; i++) {
if (arr[i] == target) {
return true;
}
}
return false;
}
```
其中,arr表示待查找的数组,target表示目标值。
阅读全文