Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dsa.impl;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.List;
- import dsa.core.*;
- import dsa.impl.BasicHashMap.Data;
- public class BasicHashMap implements Map<Integer, String>
- {
- int size;
- int array_size;
- int k = 0;
- int h = hashFunction(k);
- List<Data>[] array;
- public Integer hashFunction(Integer k)
- {
- k = k%size;
- return k;
- }
- public class Data implements Entry<Integer, String>
- {
- int key;
- String value;
- public Data(Integer k, String v)
- {
- key=k;
- value=v;
- }
- public Integer key()
- {
- return key;
- }
- @Override
- public String value()
- {
- return value;
- }
- }
- public int size()
- {
- return size;
- }
- public boolean isEmpty()
- {
- return size == 0;
- }
- public Data find(List<Data> list, Integer key)
- {
- int p = 0;
- int s = list.size();
- while(p<s)
- {
- if(list.get(p).key()==key)
- {
- return list.get(p);
- }
- p++;
- }
- return null;
- }
- public String get(Integer k)
- {
- h = hashFunction(k);
- return Integer.toString(h);
- }
- @SuppressWarnings("unchecked")
- public String put(Integer k, String v)
- {
- h = hashFunction(k);
- String temp = null;
- if (array[h] == null)
- {
- array[h] = (List<Data>) new Object();
- array[h].add(new Data(k,v));
- }else{
- Data data = find(array[h], k);
- if (data == null)
- {
- array[h].add(new Data(k,v));
- }else{
- temp = data.value;
- data.value = v;
- }
- size = size + 1;
- }
- return temp;
- }
- public String remove(Integer k) {
- h = hashFunction(k);
- if (array[h] == null)
- {
- return null;
- }
- Data data = find(array[h], k);
- if (data == null)
- {
- return null;
- }
- array[h].remove(data);
- size = size - 1;
- return data.value();
- }
- public Iterator<Integer> keys() {
- // TODO Auto-generated method stub
- return null;
- }
- public Iterator<String> values() {
- // TODO Auto-generated method stub
- return null;
- }
- public Iterator<Entry<Integer, String>> entries() {
- // TODO Auto-generated method stub
- return null;
- }
- public String toString()
- {
- String text = "";
- for (int i=0; i<array.length; i++)
- {
- text += i + ": ";
- if (array[i]==null)
- {
- text += "empty";
- }else{
- if (array[i].isEmpty())
- {
- text += "empty";
- } else {
- for (Data data:(List<Data>) array[i])
- {
- text += "{" + data.key() + "," + data.value() + "} ";
- }
- }
- }
- text += "\n";
- }
- return text;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement