Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //insert, find, delete
- public void insert(S key, T element) {
- //check if load factor is too big
- double resize = (double) totalKeys / (double) array.length;
- if (resize > THRESHOLD) {
- resize();
- }
- //create new node
- Node<T> temp = new Node<T>();
- Node<T> prev = new Node<T>();
- temp.key = key;
- temp.element = element;
- //find a place to put it
- // hash function, key % tableSize % hashcode
- int slot = key.hashCode() % array.length;
- int hash = key.hashCode() % getPrime();
- if (array[slot] == null) {
- array[slot] = temp;
- totalKeys++;
- } else {//double hashing
- prev = array[slot];
- while (array[slot] != null) {
- prev = array[slot];
- slot += hash;
- slot %= array.length;
- }
- array[slot] = temp;
- prev.nextNode = temp;
- totalKeys++;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement