Nikhil Nanivadekar

BNY Mellon | Project lead Eclipse Collections

Project lead Eclipse Collections ( Software Developer, Mechanical Engineer, Java Champion.

Nikhil Nanivadekar is a Director and Senior Principle Architect in Application Development, BNY Mellon. Nikhil has more than 7 years of experience building mission-critical applications for financial institutions. Prior to joining BNY Mellon, he was a Vice President in Private Wealth Management at Goldman Sachs Engineering. Nikhil was selected as a 2018 Java Champion, is an Oracle Groundbreaker Ambassador, and is the active project lead for the open-source Eclipse Collections framework. He is a regular on the speaker circuit and hosts several workshops at prestigious conferences teaching robotics for kids such as JCrete4Kids, JavaOne4Kids, and Devoxx4Kids. Nikhil holds a Bachelor's degree in Mechanical Engineering from the University of Pune, and a Master's of Science in Mechanical Engineering with a specialization in robotics and controls from the University of Utah.


Do It Yourself: Collections
Collections are among the basic building blocks for writing code. Frequently used collections such as List, Set, and Map are designed to serve a basic fundamental purpose, but sometimes these collections are not enough and developers will extend them to add new functionality. In this session, Nikhil will extend the Map data structure to create two new collections called as a bag (MultiSet) and a multimap (MultiValuedMap). But does just extending a collection mean that the job is considered complete? Often it is not enough. Nikhil will explain the audience the basics of creating a new collection, adding new APIs, the salient aspects of the new collection, and the various knobs and controls required in order to make it safe and usable. This talk is 100% hands-on demo with no slides and using TDD approach. All the implementations done using only the JDK data structures and no external libraries. After this talk, the audience will understand the thought process which needs to be put in while extending and creating new data structures, the helpful API which needs to be added and the safeguards which need to be put in place to help the users.