Como faço para implementar uma Hashtable usando uma árvore de busca binária?

Consegui implementar Hashtable usando array simplesmente usando a seguinte estrutura de dados.

LinkedList<Item<K,V>> table[]
const int MAX_SIZE = 100

ou seja, uma matriz de lista vinculada (hashing com encadeamento).

Agora, em vários livros, eles dizem que podemos implementar um hashtable com um BST se quisermos dados ordenados. Como faço para incorporar chave e valor em um BST. Embora eu possa armazenar os dois, assim como eu armazenar um único item de dados, mas a chave dá um inteiro que age como um índice para o array depois de ter sido para uma função de hash. Como eu uso a chave no BST? Eu não preciso de nenhum índice?

O que eu posso pensar é que eu posso comparar duas chaves usando a função e, em seguida, fazer a inserção normal, a exclusão em conformidade.

EDITES:

Suponha que eu tenha o BST do zero

class Node {
        K key;
        V value;
        Node left;
        Node right;
    }


class BinarySearchTree {
            Node root;
        }


class Hashtable {

BinarySearchTree bst;

public void Hashtable() {
bst = new BinarySearchTree();
}

//hashfunction(K key)

//get(K Key)

//put(K key,V value)

//remove(K key)

}

Como faço para usar a chave mapeada para inteiro para implementar o

insert(V value) 

em BST.

questionAnswers(4)

yourAnswerToTheQuestion