A kata is an exercise in martial arts. A code kata is an exercise in programming which helps hone your skills through practice and repetition. The Eclipse Collections Kata is a fun way to help you learn idiomatic Eclipse Collections usage. This particular kata is set up as a series of unit tests which fail. Your task is to make them pass, using Eclipse Collections.
- JDK 11 (use pom.xml to build project) or JDK 17 (use pom-jdk17.xml to build project)
- Maven 3.6.1+
- IDE of your choice that has support for JDK 11 or JDK 17
Clone this repo or simply download and extract the master zip file, then follow the instructions below for your IDE/platform.
You can import the project from "Import" => "General" => "Existing Projects into Workspace". Select "eclipse-collections-kata" directory as root directory, make sure to choose "Search for nested projects" option and finish.
Initialize IntelliJ IDEA project with the command below.
You can open the project from "File" => "Open..." => choose "eclipse-collections-kata" folder.
Open as a Maven project
You can open the project directly from "File" => "Open Project..." => choose "eclipse-collections-kata" folder. In the "Open Project" dialog you might select the option "Open Required Projects" to automatically open the two modules.
There are seven separate Java 11 katas under different directories:
- Pet Kata
- Company Kata
- Candy Kata
- Converter Method Kata
- Top Methods Kata
- Lost and Found Kata
- Jackson Kata
There are also Java 17 katas supported as well:
By default, the project is set up to build JDK 11 compatible katas. To work on katas that use Java 17, use/import pom-jdk17.xml instead to build the project.
To get started, you can refer to slides for the Instruction and Pet Kata to learn how to set-up Kata, basic features of Eclipse Collections corresponding to each Pet Kata exercise and then solutions. Check out the pet kata solutions module tests for your reference.
To learn wider range of functionalities, slides for Company Kata are now available online as well.
To learn more about the Bag data structure, take a look at the Candy Kata.
Check out Lost and Found Kata and solutions to learn more advanced data structures and APIs in Eclipse Collections, many of which will have no equivalent in the JDK today.
Enjoy happy learning with Eclipse Collections Kata!
We welcome contributions! We accept contributions via pull requests here in GitHub. Please see How To Contribute (from the Eclipse Collections project) to get started.
The Eclipse Collections Reference Guide is a great way to get an overview of the extensive features available in the framework.
The API Design of Eclipse Collections covers the design decisions that went into making Eclipse Collections and guiding its evolution from Java 4 through Java 17. The content of the presentation is also available in a convenient to read markdown format.