So far, we have learned two different implementation of Map (HashMap and ArrayMap). Now, when to use what is an obvious question. To answer that, we have to remember how they work. As we know, HashMap requires more memory than ArrayMap, so we choose HashMap if memory is a constraint for us. Is memory the only parameter you should consider? Of course not. You are using these data structures to do some operations on them. We know that for the put operation in ArrayMap, we need to allocate new arrays and do the array copy operation, so it is a heavier operation in ArrayMap than in HashMap. The same thing applies with the remove operation, but the get (fetch) operation in ArrayMap is faster than HashMap as it uses binary search. So, we can conclude that if more operation is get (non mutable), then use ArrayMap; otherwise use HashMap.
Work | HashMap | ArrayMap |
Memory | More... |