Java实现哈希查找算法
下面是一个简单的Java代码示例,实现了哈希查找算法:
import java.util.HashMap;
public class HashSearch {
// 哈希查找函数
public static int hashSearch(int[] array, int target) {
// 创建一个HashMap用于存储数组元素及其对应的索引
HashMap<Integer, Integer> map = new HashMap<>();
// 遍历数组,将元素及其索引放入HashMap中
for (int i = 0; i < array.length; i++) {
map.put(array[i], i);
}
// 查找目标值是否在HashMap中存在
if (map.containsKey(target)) {
// 如果存在,返回目标值在数组中的索引
return map.get(target);
} else {
// 如果不存在,返回-1表示未找到
return -1;
}
}
public static void main(String[] args) {
int[] array = {4, 7, 2, 9, 1, 5, 8, 3, 6};
int target = 5;
int index = hashSearch(array, target);
if (index != -1) {
System.out.println("目标值 " + target + " 在数组中的索引为: " + index);
} else {
System.out.println("未找到目标值 " + target);
}
}
}
在这个示例中,我们使用了HashMap来实现哈希查找算法。首先,我们遍历数组,将数组元素作为键,元素在数组中的索引作为值,存储在HashMap中。然后,我们可以通过目标值在HashMap中查找其索引,如果存在则返回索引,否则返回-1表示未找到。