请用Java语言实现简单的链地址散列表查找,并给出一个例子
时间: 2024-02-13 22:59:37 浏览: 32
好的,下面是用 Java 语言实现简单的链地址散列表查找的代码:
```java
import java.util.LinkedList;
public class ChainedHashTable {
private LinkedList<Integer>[] table;
private int capacity;
public ChainedHashTable(int capacity) {
this.capacity = capacity;
table = new LinkedList[capacity];
for (int i = 0; i < capacity; i++) {
table[i] = new LinkedList<>();
}
}
public void insert(int key) {
int index = hashFunction(key);
table[index].add(key);
}
public boolean search(int key) {
int index = hashFunction(key);
return table[index].contains(key);
}
public void delete(int key) {
int index = hashFunction(key);
table[index].removeFirstOccurrence(key);
}
private int hashFunction(int key) {
return key % capacity;
}
public static void main(String[] args) {
ChainedHashTable hashTable = new ChainedHashTable(10);
hashTable.insert(21);
hashTable.insert(15);
hashTable.insert(32);
hashTable.insert(7);
hashTable.insert(9);
hashTable.insert(11);
System.out.println("21 exists? " + hashTable.search(21));
System.out.println("15 exists? " + hashTable.search(15));
System.out.println("32 exists? " + hashTable.search(32));
System.out.println("7 exists? " + hashTable.search(7));
System.out.println("9 exists? " + hashTable.search(9));
System.out.println("11 exists? " + hashTable.search(11));
System.out.println("5 exists? " + hashTable.search(5));
hashTable.delete(11);
System.out.println("11 exists? " + hashTable.search(11));
}
}
```
在这个示例中,我们创建了一个容量为 10 的散列表。然后,我们向散列表中插入了 6 个元素。接着,我们分别查找了这些元素,并输出了它们是否存在。最后,我们从散列表中删除了一个元素,再次查找它并输出结果。
输出结果如下:
```
21 exists? true
15 exists? true
32 exists? true
7 exists? true
9 exists? true
11 exists? true
5 exists? false
11 exists? false
```
可以看到,散列表成功地存储并查找了这些元素,并在删除元素后成功地返回了不存在的结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)