Collections are one of the basic building blocks while writing code. Frequently used collections like List, Set, Map are designed to serve a fundamental purpose. However, sometimes these collections are not enough and developers will extend these to add new functionality. In this talk, we will extend the Map data structure to create two new collections called Bag (or MultiSet) and Multimap (or MultiValuedMap). But is the job considered complete by just extending a collection? Oftentimes it is not enough.
The talk will walk the audience through the basics of creating a new collection, adding new collection-specific API, the salient aspects of the new collection, lastly, the various knobs and controls which are required to make it safe and usable.