符号表
符号表最主要的目的就是将一个键和一个值联系起来,符号表能够存储的数据元素是一个键和一个值共同组成的键值对数据,可以根据键来查找对应的值。符号表中,键具有唯一性。
符号表的API设计:
结点类:
类名 | Node\ |
---|---|
构造方法 | Node(Key key, Value value, Node next) |
成员变量 | public Key key |
public Value value | |
public Node next |
符号表:
类名 | SymbolTable\ |
---|---|
构造方法 | SymbolTable() |
成员方法 | public Vaule get(Key key) |
public void put(Key key, Value val) | |
public void delete(Key key) | |
public int size() | |
成员变量 | private Node head |
private int N |
1 | public class SymbolTable<Key,Value>{ |
有序符号表:
上面实现的符号表,称之为无序符号表,因为在插入的时候,并没有考虑键值对的顺序,而在实际生活中,有时候需要根据键的大小进行排序,插入数据时要考虑顺序。
1 | public class OrderSymbolTable<Key extends Comparable<Key>,Value>{ |