Even though constant time retrieval sounds nice, the benchmarks show that it's not that simple. The downsides are as follows:
- Performance highly depends on the hash function and application
- Easy to implement naively, hard to get right
- Unordered storage
Some of these downsides could be mitigated by using a tree-based map, but that would be a tree as described in the previous chapter, and there is one data structure left to discuss here: the set.