Awesome
<!-- ~ Copyright (c) 2023 Goldman Sachs and others. ~ All rights reserved. This program and the accompanying materials ~ are made available under the terms of the Eclipse Public License v1.0 ~ and Eclipse Distribution License v. 1.0 which accompany this distribution. ~ The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html ~ and the Eclipse Distribution License is available at ~ http://www.eclipse.org/org/documents/edl-v10.php. --><a href="https://www.eclipse.org/collections/"><img src="https://github.com/eclipse/eclipse-collections-kata/blob/master/docs/shared/eclipse-collections-logo.png" height="50%" width="50%"></a>
Eclipse Collections Kata
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.
What you will need to build the katas
- 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
Initialize Kata
Clone this repo or simply download and extract the master zip file, then follow the instructions below for your IDE/platform.
Eclipse users
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.
IntelliJ IDEA users
Initialize IntelliJ IDEA project with the command below.
You can open the project from "File" => "Open..." => choose "eclipse-collections-kata" folder.
NetBeans users
Linux/Mac/Windows:
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.
Work on Kata exercises
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!
How to Contribute
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.
Reference Guide
The Eclipse Collections Reference Guide is a great way to get an overview of the extensive features available in the framework.
Presentations
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.