Eclipse Collections: A Community Story

Nikhil Nanivadekar
3 min readApr 28, 2018

--

Eclipse Collections has optimized List, Set and Map implementations and adds more specialized data structures like Bag, Multimap, BiMap. Since, most of the Eclipse Collections implementations extend the respective JDK collections interfaces, we ensure users can have inter-op with the JDK. The library also provides a rich suite of primitive Lists, Sets, Bags, Stacks and Maps for all 8 primitives. Eclipse Collections provides lazy and eager execution patterns, it provides Mutable, Unmodifiable and Immutable collection types. Eclipse Collections has 80+ iteration patterns/API on the collections itself. With so many rich features and ability to co-exist with the JDK, Eclipse Collections enhances the Java developers’ experience.

Eclipse Collections is a part of the Quality Outreach program and we run regression builds for Java 8, 9, 10 and 11-EA. The library helps identify bugs and regression breaks in the JDK and IDEs like IntelliJ Idea and Eclipse.

Recently, we discovered that the community is helping us by adding Jackson serialization support.

Last year, we made the decision to participate in the Eclipse Release train. Thanks to the extensive support from the developer community, the library is integrated in the Eclipse Photon release!

As of writing of this blog, we have 12 open Pull Requests and 65 open issues. The Eclipse Collections website is available in 6 languages. These issues help us understand the requirements and the features which developers and users of the library care about. So far we have 37 contributors to the project. We have a project team comprised of 5 committers. In order to help first time contributors choose a contribution, we add a “good first issue” label.

I was voted as a project lead of Eclipse Collections in April ’17. In the past year, the framework has grown by leaps and bounds. I did a UK, Ireland Java User Group tour in November ’17. I am writing this blog from the Bengaluru airport on my way to the fourth stop of my India Java User Group tour. These JUG tours are a part of the project’s outreach initiative. I can’t help but be amazed at the maturity of the Eclipse Collections framework. But there is still a lot of work to be done, we would like to add more symmetry between the primitive and object side, make the framework modularized (similar to the JDK). The future is bright for the framework and you can help me keep it vibrant by adopting, contributing and evangelizing Eclipse Collections.

If you like it, show your support, put a star on our GitHub Repo.

Resources:

  1. Eclipse Collections Reference Guide.
  2. Eclipse Collections Kata to learn the basic concepts of the framework.
  3. Contribution guidelines to help get started contributing to the framework. If you have any questions, feel free to ask, we will be happy to help.
  4. Eclipse Collections by example blog series.
  5. Refactoring Collections: Making Your Java Streams Leaner, Meaner, and Cleaner: Presentation, Video
  6. Java Evolution of Eclipse Collections: Article, Video

--

--

Nikhil Nanivadekar

Lead Eclipse Collections: eclipse.org/collections, Java Champion. I enjoy hiking, skiing, reading. All opinions stated by me are my own. Twitter @nikhilnanivade