MCPcopy Index your code
hub / github.com/eclipse-collections/eclipse-collections

github.com/eclipse-collections/eclipse-collections @13.0.0.M1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 13.0.0.M1 ↗ · + Follow
34,940 symbols 146,158 edges 2,670 files 2,718 documented · 8% 6 cross-repo links updated 5d ago13.0.0 · 2025-07-29★ 2,636129 open issues

Browse by type

Functions 31,777 Types & classes 3,163
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

English | Deutsch | Ελληνικά | Español | 中文 | Français | 日本語 | Norsk (bokmål) | Português-Brasil | Русский | हिंदी | Srpski (latinica)

Eclipse Collections is a comprehensive collections library for Java. The library enables productivity and performance by delivering an expressive and efficient set of APIs and types. The iteration protocol was inspired by the Smalltalk collection framework, and the collections are compatible with the Java Collection Framework types.

The current GA release of Eclipse Collections (11.1.0) is compatible with Java 8+. Eclipse Collections 12.x will be compatible with Java 11+. Eclipse Collections is a part of the OpenJDK Quality Outreach program, and it is validated for different versions of the OpenJDK.

Why Eclipse Collections?

  • Productivity
  • Supports eager, lazy, serial and parallel iteration patterns
  • Rich, functional, and fluent APIs with eager methods available directly on collection types
  • Provides List, Set, Bag, Stack, Map, Multimap, BiMap, Interval object container types
  • Readable, Mutable, and Immutable interfaces for each collection type with covariant return types
  • Mutable and Immutable Collection [Factories][Factories]
    • [Blog series: As a matter of Factory][BlogAsAMatterOfFactory]
  • Adapters and Utility classes for JCF Types
    • [Blog: Iterate over any Iterable in Java][BlogIterateOverAnyIterableInJava]
  • Performance
    • Memory Efficient Containers
    • [Blog: UnifiedMap: How it works?][BlogUnifiedMapHowItWorks]
    • [Blog: UnifiedSet - The Memory Saver][BlogUnifiedSetTheMemorySaver]
    • Optimized Eager, Lazy and Parallel APIs
    • [Blog: The unparalleled design of Eclipse Collections][BlogUnparalleledDesignOfEclipseCollections]
    • Primitive Collections for all primitive types
    • Provides List, Set, Bag, Stack, Map, Interval primitive container types
  • Maturity

Learn Eclipse Collections

Eclipse Collections and JDK Compatibility Matrix

EC JDK 5 - 7 JDK 8 JDK 9 - 10 JDK 11 - 14 JDK 15 - 21
7.x.x
8.x.x
9.x.x
10.x.x
10.4.0
11.x.x
12.x.x

Note: Eclipse Collections 12.x will be compatible with Java 11+. EC 12.0 has not been released as GA yet, but there are a few milestone releases available to test with.

Acquiring Eclipse Collections

Maven

<dependency>
  <groupId>org.eclipse.collections</groupId>
  <artifactId>eclipse-collections-api</artifactId>
  <version>11.1.0</version>
</dependency>

<dependency>
  <groupId>org.eclipse.collections</groupId>
  <artifactId>eclipse-collections</artifactId>
  <version>11.1.0</version>
</dependency>

Gradle

implementation 'org.eclipse.collections:eclipse-collections-api:11.1.0'
implementation 'org.eclipse.collections:eclipse-collections:11.1.0'

OSGi Bundle

Eclipse software repository location: https://download.eclipse.org/collections/11.1.0/repository

How to Contribute

We welcome contributions! We accept contributions via pull requests here in GitHub. Please see How To Contribute to get started.

Additional information

  • Project Website: https://eclipse.dev/collections
  • Eclipse PMI: https://projects.eclipse.org/projects/technology.collections
  • StackOverflow: https://stackoverflow.com/questions/tagged/eclipse-collections
  • Mailing lists: https://dev.eclipse.org/mailman/listinfo/collections-dev
  • Forum: https://www.eclipse.org/forums/index.php?t=thread&frm_id=329
  • Working with GitHub: https://github.com/eclipse/eclipse-collections/wiki/Working-with-GitHub

[BlogUnifiedMapHowItWorks

Extension points exported contracts — how you extend this code

RootBatch (Interface)
A Batch that must be at the root of the chain, not wrapped in other Batches. [120 implementers]
eclipse-collections/src/main/java/org/eclipse/collections/impl/lazy/parallel/RootBatch.java
InternalIterable (Interface)
The base interface for all Eclipse Collections. All Eclipse Collections are internally iterable, and this interface prov [79 …
eclipse-collections-api/src/main/java/org/eclipse/collections/api/InternalIterable.java
Sum (Interface)
A sum is a mutable or immutable object that may have either other objects or values added to it. @deprecated Don't use [4 …
unit-tests/src/test/java/org/eclipse/collections/impl/math/Sum.java
ImmutableUnorderedIterableTestCase (Interface)
(no doc) [16 implementers]
unit-tests-java8/src/test/java/org/eclipse/collections/test/ImmutableUnorderedIterableTestCase.java
ErrorListener (Interface)
(no doc)
eclipse-collections-code-generator/src/main/java/org/eclipse/collections/codegenerator/ErrorListener.java
ObjectIntProcedureFactory (Interface)
ObjectIntProcedureFactory is used by parallel iterators as a factory for stateful ObjectIntProcedure instances. [25 implementers]
eclipse-collections/src/main/java/org/eclipse/collections/impl/parallel/ObjectIntProcedureFactory.java
PrimitiveIterable (Interface)
PrimitiveIterable includes API that is common to all primitive collections. @since 3.0 [30 implementers]
eclipse-collections-api/src/main/java/org/eclipse/collections/api/PrimitiveIterable.java
NoIteratorTestCase (Interface)
(no doc) [7 implementers]
unit-tests-java8/src/test/java/org/eclipse/collections/test/NoIteratorTestCase.java

Core symbols most depended-on inside this repo

Shape

Method 31,777
Class 2,861
Interface 292
Enum 10

Languages

Java100%

Modules by API surface

eclipse-collections/src/main/java/org/eclipse/collections/impl/collection/mutable/AbstractMultiReaderMutableCollection.java234 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/block/factory/Predicates.java229 symbols
unit-tests/src/test/java/org/eclipse/collections/impl/utility/IterateTest.java219 symbols
unit-tests/src/test/java/org/eclipse/collections/impl/AbstractRichIterableTestCase.java200 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/map/strategy/mutable/UnifiedMapWithHashingStrategy.java188 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/UnifiedMap.java186 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/block/factory/Functions.java176 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/list/mutable/MultiReaderFastList.java175 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/map/ordered/mutable/UnmodifiableMutableOrderedMap.java174 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/primitive/ObjectBooleanHashMapWithHashingStrategy.java164 symbols
eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/primitive/ObjectBooleanHashMap.java162 symbols
unit-tests/src/test/java/org/eclipse/collections/impl/utility/ArrayIterateTest.java158 symbols

For agents

$ claude mcp add eclipse-collections \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page