一、哈希表是什么?
哈希表是一种可以存储键值对的数据结构
Haspmap<String,Student>hashtable = new HashSet<String,Student>();
常用方法:
- public void clear() 清空散列映射
- public Object clone() 返回当前散列映射的一个克隆
- public boolean containsKey(Object key): 如果散列映射有键值对使用了参数指定的键,则返回true,否则false
- public boolean containsValue(Object Value):如果散列映射有键值对使用了参数指定的值,则返回true,否则false
- public V get(Object key): 返回值
- public boolean isEmpty(): 如果不含任何键值对,返回true
- public V remove(Object key): 删除指定的键值对,返回键所对应的值
- public int size(): 返回散列映射的大小,即散列映射中键值对的数目
二、数集
在同一层中的节点从左往右按字从小到大的顺序递增排列,下一层都比上一层的小,例如:
TreeSet<String>mytree = new TreeSet<String>();
常用方法:
- public boolean add(E o ):向数集添加结点,结点中的数据由参数决定,添加成功返回true
- public void clear()
- public void contains(Object o)如果数集中包含参数指定的对象,则该方法返回true
- public E first(): 返回第一个结点中的数据,就是最小的结点
- public E last(): 最后一个结点的数据
- public isEmpty()
- public boolean remove(Object o)如果删除成功返回true
- public int size() 返回结点数目
三、有序表
TreeMap<Integer,String>treeMap = new TreeMap<>();
常用方法:
- void put(K key, V value):将一个(key,value)记录加入到表中,或者将key的记录更新为value
- V get(K key):根据给定的key,查询value并返回
- void remove(K key):移除key的记录
- boolean containsKey(K key):询问是否有key的记录
- K firstKey():返回最左的那个
- K lastKey():返回最由的那个‘
- K floorKey(K key):如果表中存过key,返回key,否则返回所有键值排序结果中key的前一个
- K ceilingKey(K key):如果表中存过key,返回key,否则返回所有键值排序结果中key的后一个
上诉所有操作时间复杂度都是O(logN),N为有序表中有的记录数