def resize(self): new_maps = BetterMap(self.num * 2) for k, v in self.maps.iteritems(): new_maps.add(k, v) self.maps = new_maps
class HashMap(object): def __init__(self): self.maps = BetterMap(2) self.num = 0 def get(self, k): return self.maps.get(k) def add(self, k, v): if self.num == len(self.maps): self.resize() self.maps.add(k, v) self.num += 1 def resize(self): new_maps = BetterMap(self.num * 2) for k, v in self.maps.iteritems(): new_maps.add(k, v) self.maps = new_maps
def __init__(self): self.maps = BetterMap(2) self.num = 0