前言
符号表最主要的目的就是将一个键和一个值联系起来,符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据,可以根据键来查找相应的值。
符号表中健要求唯一性。
代码实现
public class SymbolTable<K,V> {
private Node<K,V> head;
private int size;
public SymbolTable() {
head = new Node<>(null,null,null);
size=0;
}
public void put(K key,V value){
//如果键已经存在,则替换值
Node<K,V> n = head;
while (n.next!=null){
n = n.next;
if (n.key.equals(key)){
n.value = value;
return;
}
}
//如果键不存在,则添加,在链表头部插入
Node<K,V> firstNode = head.next;
Node<K,V> newNode = new Node<>(key,value,null);
newNode.next = firstNode;
head.next = newNode;
size++;
}
public V delete(K key){
//找到要删除的结点
Node<K