JetBrains Technology Day for Java – Do It Yourself: Collections
On the 10th July 2020, JetBrains hosted a Technology Day for Java. We had 10 presentations and the videos for them are available here. Over the coming weeks, in no particular order, we’d like to share with you extra resources that our speakers kindly provided and any links to further reading or code samples.
We hosted Nikhil Nanivadekar talking about 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 want to extend them to add new functionality.
In this hands-on demo, Nikhil extended the Map data structure to create two new collections called a bag (MultiSet) and a multimap (MultiValuedMap) and explained the basics of creating a new collection, adding new APIs, the salient aspects of the new collection, and the various knobs and controls required to make it safe and usable.
We loved how Nikhil started at the beginning with his presentation and proceeded to take us through it in real time. Nikhil live-coded using IntelliJ IDEA and used Test Driven Development (TDD) to create new collections. You might even pick up an IntelliJ IDEA trick or two while watching Nikhil code! Nikhil asked us to mention that Eclipse Collections has nothing to do with Eclipse IDE and he writes code for Eclipse Collections in IntelliJ IDEA.
All the code from the session is available here:
- Code respository: https://github.com/nikhilnanivadekar/DIYCollections
Eclipse Collections information
Further information about Eclipse Collections is available here:
- Eclipse Collections website: https://www.eclipse.org/collections/
- Eclipse Collections GitHub Repo: https://github.com/eclipse/eclipse-collections
- Eclipse Collections Kata Repo: https://github.com/eclipse/eclipse-collections-kata
- Eclipse Collections API Design: http://eclipse.github.io/eclipse-collections-kata/api-design/#/
These are additional posts provided by Nikhil if you’re interested in learning more:
- UnifiedSet: https://medium.com/oracledevs/unifiedset-the-memory-saver-25b830745959
- UnifiedMap: https://medium.com/oracledevs/unifiedmap-how-it-works-48af0b80cb37
- Bag: https://medium.com/oracledevs/bag-the-counter-2689e901aadb
- Multimap: https://medium.com/oracledevs/multimap-how-it-works-a3430f549d35
What our audience thought of Nikhil’s demo
CyberneticKoi (@CyberneticKoi) July 10, 2020
THANKS ! @NikhilNanivade Incredible presentation bro
“Technology Day For Java”
cc @javabsas and @jetbrains#JetBrainsLovesJava#JBTechDayforJava #JetBrainsLovesJava #Java #JavaBaires #JavaBsAs #JavaProgrammers #javaArgentina #loveJavaProgramming #Jug pic.twitter.com/Gm6INLjlBe
— C:\Users\Mauri\Java (MauriDeveloper) July 10, 2020
Carlos R. Ramirez (crramirezc) July 10, 2020
Subscribe to Blog updates
Thanks, we've got you!
Java Annotated Monthly – December 2023
The December edition of Java Annotated Monthly is here! As usual, you’ll find all the latest Java and Kotlin updates as well as details of key industry events for networking and learning. This issue also features the latest release candidates and targeted JEPs alongside Java tutorials and articles a…
String Templates in Java – why should you care?
TLDR; The existing String concatenation options are difficult to work with and could be error prone. String Templates (a preview feature introduced in Java 21) greatly improves how we create strings in Java by merging constant strings with variable values. The name of this feature pretty much says …
Java Annotated Monthly – November 2023
Welcome to the Java Annotated Monthly – November 2023! As the Java world keeps on spinning, we've gathered a treasure trove of articles, talks, and insights to warm your Java developers’ hearts. This month's edition features a delightful blend of the latest technological advancements and the ever…
Java Annotated Monthly – September 2023
The September edition of Java Annotated Monthly is here! With this month’s release of Java 21 approaching, we're excited to bring you a final sneak peek into its crucial features. But that's not all! This edition is packed with helpful articles about cutting-edge AI technologies, including update…