java数组查找某个元素

发布时间 2024-01-04 15:56:36作者: 2086nmj

1.使用遍历的方式查找某个元素:

public static int findElement(int[] array, int target) {
    for (int i = 0; i < array.length; i++) {
        if (array[i] == target) {
            return i;
        }
    }
    return -1; // 如果未找到目标元素,返回-1表示不存在
}

2.使用二分查找的方式查找有序数组中某个元素:

public static int binarySearch(int[] array, int target) {
    int left = 0;
    int right = array.length - 1;
 
    while (left <= right) {
        int mid = left + (right - left) / 2;
 
        if (array[mid] == target) {
            return mid;
        } else if (array[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
 
    return -1; // 如果未找到目标元素,返回-1表示不存在
}

3.使用Java 8的Stream API进行查找:

public static OptionalInt findElement(int[] array, int target) {
    return Arrays.stream(array)
            .filter(element -> element == target)
            .findFirst();
}
// 使用示例:
OptionalInt result = findElement(array, target);
if (result.isPresent()) {
    int index = result.getAsInt();
    // 对应元素存在,执行相应操作
} else {
    // 对应元素不存在,执行相应操作
}

4.若数组已经排序,可以使用Arrays类中的binarySearch方法进行查找:

public static int binarySearch(int[] array, int target) {
    return Arrays.binarySearch(array, target);
}
// 注意:在使用该方法时,需要保证数组已经排序,若数组未排序,结果可能不正确

>>https://www.cnblogs.com/2008nmj/p/17648174.html(ArrayList进阶查找)