{"id":21443614,"url":"https://github.com/eclipse-collections/eclipse-collections-kata","last_synced_at":"2025-05-16T15:08:19.223Z","repository":{"id":3483512,"uuid":"49086078","full_name":"eclipse-collections/eclipse-collections-kata","owner":"eclipse-collections","description":"Eclipse Collections Katas ","archived":false,"fork":false,"pushed_at":"2024-10-05T00:49:19.000Z","size":2831,"stargazers_count":435,"open_issues_count":21,"forks_count":247,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-04-15T13:29:37.437Z","etag":null,"topics":["code-katas","eclipse-collections","java","java-11","java-17","java-21","katas"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-collections.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-EDL-1.0.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-01-05T18:57:57.000Z","updated_at":"2025-03-18T21:49:03.000Z","dependencies_parsed_at":"2024-09-10T04:14:42.084Z","dependency_job_id":"9b373a3f-a246-4e31-bd97-d8a605e4a52a","html_url":"https://github.com/eclipse-collections/eclipse-collections-kata","commit_stats":{"total_commits":222,"total_committers":50,"mean_commits":4.44,"dds":0.5045045045045045,"last_synced_commit":"f39ebe3753981bba0a18192d1b21df919e7bec09"},"previous_names":["eclipse-collections/eclipse-collections-kata","eclipse/eclipse-collections-kata"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-collections%2Feclipse-collections-kata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-collections%2Feclipse-collections-kata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-collections%2Feclipse-collections-kata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-collections%2Feclipse-collections-kata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-collections","download_url":"https://codeload.github.com/eclipse-collections/eclipse-collections-kata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553958,"owners_count":22090417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-katas","eclipse-collections","java","java-11","java-17","java-21","katas"],"created_at":"2024-11-23T02:12:14.593Z","updated_at":"2025-05-16T15:08:14.215Z","avatar_url":"https://github.com/eclipse-collections.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"\u003c!--\n  ~ Copyright (c) 2023 Goldman Sachs and others.\n  ~ All rights reserved. This program and the accompanying materials\n  ~ are made available under the terms of the Eclipse Public License v1.0\n  ~ and Eclipse Distribution License v. 1.0 which accompany this distribution.\n  ~ The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html\n  ~ and the Eclipse Distribution License is available at\n  ~ http://www.eclipse.org/org/documents/edl-v10.php.\n  --\u003e\n[![][license-epl img]][license-epl]\n[![][license-edl img]][license-edl]\n[![][actions img]][actions]  \n[![][actions-solutions img]][actions-solutions]\n\n\u003ca href=\"https://www.eclipse.org/collections/\"\u003e\u003cimg src=\"https://github.com/eclipse/eclipse-collections-kata/blob/master/docs/shared/eclipse-collections-logo.png\" height=\"50%\" width=\"50%\"\u003e\u003c/a\u003e\n\n## Eclipse Collections Kata \nA [kata](https://en.wikipedia.org/wiki/Kata) is an exercise in martial arts. \nA [code kata](http://codekata.com/) is an exercise in programming which helps hone your skills through practice and repetition. \nThe Eclipse Collections Kata is a fun way to help you learn idiomatic Eclipse Collections usage. \nThis particular kata is set up as a series of unit tests which fail. \nYour task is to make them pass, using Eclipse Collections.\n\n## What you will need to build the katas\n1. JDK 11 (use [pom.xml](./pom.xml) to build project) or JDK 17 (use [pom-jdk17.xml](./pom-jdk17.xml) to build project)\n2. Maven 3.6.1+\n3. IDE of your choice that has support for JDK 11 or JDK 17\n\n## Initialize Kata\nClone this repo or simply download and extract the master [zip file](https://github.com/eclipse/eclipse-collections-kata/archive/master.zip), \nthen follow the instructions below for your IDE/platform. \n\n\n### Eclipse users\n\nYou can import the project from \"Import\" =\u003e \"General\" =\u003e \"Existing Projects into Workspace\".\nSelect \"eclipse-collections-kata\" directory as root directory, \nmake sure to choose \"Search for nested projects\" option and finish.\n### IntelliJ IDEA users\n\nInitialize IntelliJ IDEA project with the command below. \n\nYou can open the project from \"File\" =\u003e \"Open...\" =\u003e choose \"eclipse-collections-kata\" folder.\n\n### NetBeans users\n\n##### Linux/Mac/Windows:\n\n_Open as a Maven project_\n\nYou can open the project directly from \"File\" =\u003e \"Open Project...\" =\u003e choose \"eclipse-collections-kata\" folder.\nIn the \"Open Project\" dialog you might select the option \"Open Required Projects\" to automatically open the two modules.\n\n## Work on Kata exercises\nThere are seven separate Java 11 katas under different directories:\n\n1. [Pet Kata](pet-kata)\n2. [Company Kata](company-kata)\n3. [Candy Kata](candy-kata)\n4. [Converter Method Kata](converter-method-kata)\n5. [Top Methods Kata](top-methods-kata)\n6. [Lost and Found Kata](lost-and-found-kata)\n7. [Jackson Kata](jackson-kata)\n\nThere are also Java 17 katas supported as well:\n\n1. [Records Kata](record-kata)\n2. [Haiku Kata](haiku-kata)\n3. [Wordle Kata](wordle-kata)\n \n\u003e 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](./pom-jdk17.xml) instead to build the project. \n\nTo get started, you can refer to slides for the [Instruction and Pet Kata](http://eclipse.github.io/eclipse-collections-kata/) to learn how to set-up Kata, basic features of Eclipse Collections corresponding to each Pet Kata exercise and then solutions. \nCheck out the [pet kata solutions module tests](https://github.com/eclipse/eclipse-collections-kata/tree/master/pet-kata-solutions/src/test/java/org/eclipse/collections/petkata) for your reference.\n\nTo learn wider range of functionalities, slides for [Company Kata](http://eclipse.github.io/eclipse-collections-kata/company-kata) are now available online as well. \n\nTo learn more about the Bag data structure, take a look at the [Candy Kata](candy-kata).\n\nCheck out [Lost and Found Kata](lost-and-found-kata) and [solutions](lost-and-found-kata-solutions) to learn more advanced data structures and APIs in Eclipse Collections, many of which will have no equivalent in the JDK today.\n\nEnjoy happy learning with Eclipse Collections Kata!\n\n## How to Contribute\nWe welcome contributions! We accept contributions via pull requests here in GitHub. Please see [How To Contribute](CONTRIBUTING.md) (from the [Eclipse Collections](https://github.com/eclipse/eclipse-collections) project) to get started.\n\n\n## Reference Guide\nThe [Eclipse Collections Reference Guide](https://github.com/eclipse/eclipse-collections/blob/master/docs/0-RefGuide.adoc) is a great way to get an overview of the extensive features available in the framework.\n\n\n## Presentations\nThe [API Design of Eclipse Collections](http://eclipse.github.io/eclipse-collections-kata/api-design) covers the design \ndecisions that went into making Eclipse Collections and guiding its evolution from Java 4 through Java 17. \nThe content of the presentation is also available in a convenient to read [markdown format](https://github.com/eclipse/eclipse-collections-kata/blob/master/docs/api-design/slides.md). \n\n[actions]:https://github.com/eclipse/eclipse-collections-kata/actions?query=workflow%3A%22Eclipse+Collections+Kata+CI+Build%22\n[actions img]:https://github.com/eclipse/eclipse-collections-kata/workflows/Eclipse%20Collections%20Kata%20CI%20Build/badge.svg?branch=master\n\n[actions-solutions]:https://github.com/eclipse/eclipse-collections-kata/actions?query=workflow%3A%22Eclipse+Collections+Kata+Solutions+CI+Build%22\n[actions-solutions img]:https://github.com/eclipse/eclipse-collections-kata/actions/workflows/solutions.yml/badge.svg?branch=master\n\n[license-epl]:LICENSE-EPL-1.0.txt\n[license-epl img]:https://img.shields.io/badge/License-EPL-blue.svg\n\n[license-edl]:LICENSE-EDL-1.0.txt\n[license-edl img]:https://img.shields.io/badge/License-EDL-blue.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-collections%2Feclipse-collections-kata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-collections%2Feclipse-collections-kata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-collections%2Feclipse-collections-kata/lists"}