New ways to create Maps in Eclipse Collections Map API
Eclipse Collections provide a way to create both Mutable and Immutable Map with its rich Map API. Recently I worked on Eclipse Collections creating new methods on both MutableMap
and ImmutableMap
.
Eclipse Collections already has MutableMap.withMap
method which allows merging a MutableMap
with any JDK Map and returns a MutableMap
. I contributed a similar method ImmutableMap.newWithMap
to ImmutableMap
API. I also added ImmutableMap.newWithMapIterable
method so that a user can merge any MapIterable
type which includes MutableMap
and ImmutableMap
as well. The new methods return a new ImmutableMap
because it is created only once and it does not have a put method to allow any modifications. To maintain symmetry with the MutableMap
, I added MutableMap.withMapIterable
and MutableMap.putAllMapIterable
methods. The link to my Pull Request is here.
How to create new Map Instances?
ImmutableMap.newWithMap
ImmutableMap.newWithMapIterable
MutableMap.withMapIterable
MutableMap.putAllMapIterable
The new APIs methods will be available in the next release of EC (11.0.0).
Learning from contribution to OSS
- After I added the two new methods to the
MutableMapIterable
interface and two methods toImmutableMapIterable
interface, I started getting a lot of compilation errors, so I started tracing down the path to fix those compilations down the hierarchy. I thought it was very cool. - I made these four implementations using four commits in a Pull request. In order to manage and keep the history aligned, I created a lot of local branches. I had amazing learning experience using Git rebase, cherry-picking, squash and many more.
- I worked with passionate developers in this project and always found someone helping me out when I felt stuck. To me, it was very important because I was new to contribute to OSS.
- I also found some of the blogs below to be very useful. Do check them out!
More resources on Eclipse Collections
Happy Coding and Happy Learning!
I am a software developer, traveller, blogger, yogi and cricket lover. If you like any of these topics, here is my twitter link @nehasardana09 and linkedIn page to connect.