| <!DOCTYPE html> |
| <!-- |
| ~ Copyright (c) 2020 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. |
| --> |
| |
| <html lang="en"> |
| |
| <head> |
| |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta name="description" content=""> |
| <meta name="author" content=""> |
| <link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /> |
| |
| <title>Eclipse Collections - Features you want with the collections you need. </title> |
| |
| <!-- Bootstrap Core CSS --> |
| <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" integrity="sha256-7s5uDGW3AHqw6xtJmNNtr+OBRJUlgkNJEo78P4b0yRw= sha512-nNo+yCHEyn0smMxSswnf/OnX6/KwJuZTlNZBjauKhTK0c+zT+q5JOCx0UFhXQ6rJR9jg6Es8gPuD2uZcYDLqSw==" crossorigin="anonymous"> |
| |
| <!-- Custom CSS --> |
| <link href="css/landing-page.css" rel="stylesheet"> |
| |
| <!-- Custom Fonts --> |
| <link href="//fonts.googleapis.com/css?family=Roboto+Condensed:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css"> |
| |
| <!-- Google Code Prettify --> |
| <link href="css/sunburst.css" rel="stylesheet" type="text/css"> |
| |
| <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> |
| <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> |
| <!--[if lt IE 9]> |
| <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> |
| <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> |
| <![endif]--> |
| |
| </head> |
| |
| <body> |
| |
| <!-- Navigation --> |
| <nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation"> |
| <div class="container topnav"> |
| <!-- Brand and toggle get grouped for better mobile display --> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <img src="img/eclipse-collections-logo.png" style="width:175px;height:50px;" align="left" alt="Eclipse Collections"> |
| </div> |
| <!-- Collect the nav links, forms, and other content for toggling --> |
| <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> |
| <ul class="nav navbar-nav navbar-right"> |
| <li> |
| <a href="#start">Get Started</a> |
| </li> |
| <li> |
| <a href="#concept">Concept</a> |
| </li> |
| <li> |
| <a href="#learn">Learn</a> |
| </li> |
| <li> |
| <a href="#history">History</a> |
| </li> |
| <li> |
| <a href="#refGuide">Reference Guide</a> |
| </li> |
| <li> |
| <a href="#sourceCode">Source Code</a> |
| </li> |
| <li> |
| <a href="#contribute">Contribute</a> |
| </li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" |
| aria-expanded="false">Javadoc<span class="caret"></span></a> |
| <ul class="dropdown-menu"> |
| <li><a href="javadoc/10.2.0">10.2.0</a></li> |
| <li><a href="javadoc/10.1.0">10.1.0</a></li> |
| <li><a href="javadoc/10.0.0">10.0.0</a></li> |
| <li><a href="javadoc/9.2.0">9.2.0</a></li> |
| <li><a href="javadoc/9.1.0">9.1.0</a></li> |
| <li><a href="javadoc/9.0.0">9.0.0</a></li> |
| <li><a href="javadoc/8.2.0">8.2.0</a></li> |
| <li><a href="javadoc/8.1.0">8.1.0</a></li> |
| <li><a href="javadoc/8.0.0">8.0.0</a></li> |
| <li><a href="javadoc/7.1.0">7.1.0</a></li> |
| </ul> |
| </li> |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" |
| aria-expanded="false">Language<span class="caret"></span></a> |
| <ul class="dropdown-menu"> |
| <li><a href="">English</a></li> |
| <li><a href="de/index.html">Deutsch</a></li> |
| <li><a href="el/index.html">Ελληνικά</a></li> |
| <li><a href="es/index.html">Español</a></li> |
| <li><a href="cn/index.html">中文</a></li> |
| <li><a href="fr/index.html">Français</a></li> |
| <li><a href="ja/index.html">日本語</a></li> |
| <li><a href="pt-br/index.html">Português-Brasil</a></li> |
| <li><a href="ru/index.html">Русский</a></li> |
| <li><a href="hi/index.html">हिंदी</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <!-- /.navbar-collapse --> |
| </div> |
| <!-- /.container --> |
| </nav> |
| |
| |
| <!-- Header --> |
| <a class="anchor" name="about"></a> |
| <div class="intro-header"> |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-push-2 col-lg-8"> |
| <div class="intro-message"> |
| <h1>Eclipse <span style="font-weight: 400">Collections</span></h1> |
| <h3>- Features you want with the collections you need -</h3> |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- /.intro-header --> |
| |
| <!-- Page Content --> |
| |
| <a class="anchor" name="start"></a> |
| <div class="content-section-a"> |
| |
| <div class="container-fluid"> |
| <div class="row"> |
| <div class="col-lg-5 col-sm-6"> |
| <hr class="section-heading-spacer"> |
| <div class="clearfix"></div> |
| <h2 class="section-heading">Get started with <br>Eclipse Collections</h2> |
| <p class="lead">Eclipse Collections is the best Java collections framework ever |
| that brings happiness to your Java development. |
| <br><br>Integrate it to your codebase today with your favorite build tools!</p> |
| </div> |
| <div class="col-lg-7 col-sm-6"> |
| <ul class="nav nav-tabs"> |
| <li class="active"><a href="#maven" data-toggle="tab">Maven</a></li> |
| <li><a href="#gradle" data-toggle="tab">Gradle</a></li> |
| <li><a href="#ivy" data-toggle="tab">Ivy</a></li> |
| <li><a href="#download" data-toggle="tab">Download</a></li> |
| </ul> |
| <div id="dependencies" class="tab-content"> |
| <div class="tab-pane fade in active" id="maven"> |
| <pre class="prettyprint"> |
| <dependency> |
| <groupId>org.eclipse.collections</groupId> |
| <artifactId>eclipse-collections-api</artifactId> |
| <version>10.2.0</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.collections</groupId> |
| <artifactId>eclipse-collections</artifactId> |
| <version>10.2.0</version> |
| </dependency></pre> |
| </div> |
| <div class="tab-pane fade" id="gradle"> |
| <pre class="prettyprint"> |
| compile 'org.eclipse.collections:eclipse-collections-api:10.2.0' |
| compile 'org.eclipse.collections:eclipse-collections:10.2.0'</pre> |
| </div> |
| <div class="tab-pane fade" id="ivy"> |
| <pre class="prettyprint"> |
| <dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.2.0" /> |
| <dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.2.0" /></pre> |
| </div> |
| <div class="tab-pane fade" id="download"> |
| <pre class="prettyprint"> |
| <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections-api/10.2.0">eclipse-collections-api-10.2.0.jar</a> |
| <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/10.2.0">eclipse-collections-10.2.0.jar</a></pre> |
| </div> |
| |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Get Started --> |
| |
| <a class="anchor" name="concept"></a> |
| <div class="content-section-b"> |
| |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-push-7 col-lg-5 col-sm-push-6 col-sm-6"> |
| <hr class="section-heading-spacer"> |
| <div class="clearfix"></div> |
| <h2 class="section-heading">Rich, Concise and Readable APIs</h2> |
| <p class="lead">Maximize the power of Java 8 Lambda expressions and method references with |
| rich APIs directly available on your collections. |
| </p> |
| </div> |
| <div class="col-lg-pull-5 col-lg-7 col-sm-pull-6 col-sm-6"> |
| <ul class="nav nav-tabs"> |
| <li class="active"><a href="#method" data-toggle="tab">Eclipse Collections w/ Method Ref</a></li> |
| <li><a href="#ec" data-toggle="tab">Eclipse Collections w/ Lambda expression</a></li> |
| <li><a href="#streams" data-toggle="tab">Java 8 Streams</a></li> |
| </ul> |
| <div id="ec-vs-streams" class="tab-content"> |
| <div class="tab-pane fade in active" id="method"> |
| <pre class="prettyprint lang-java"> |
| boolean anyPeopleHaveCats = |
| this.people |
| .anySatisfyWith(Person::hasPet, PetType.CAT); |
| |
| int countPeopleWithCats = |
| this.people |
| .countWith(Person::hasPet, PetType.CAT); |
| |
| MutableList<Person> peopleWithCats = |
| this.people |
| .selectWith(Person::hasPet, PetType.CAT)</pre> |
| </div> |
| <div class="tab-pane fade" id="ec"> |
| <pre class="prettyprint lang-java"> |
| boolean anyPeopleHaveCats = |
| this.people |
| .anySatisfy(person -> person.hasPet(PetType.CAT)); |
| |
| int countPeopleWithCats = |
| this.people |
| .count(person -> person.hasPet(PetType.CAT)); |
| |
| MutableList<Person> peopleWithCats = |
| this.people |
| .select(person -> person.hasPet(PetType.CAT));</pre> |
| </div> |
| <div class="tab-pane fade" id="streams"> |
| <pre class="prettyprint lang-java"> |
| boolean anyPeopleHaveCats = |
| this.people |
| .stream() |
| .anyMatch(person -> person.hasPet(PetType.CAT)); |
| |
| long countPeopleWithCats = |
| this.people |
| .stream() |
| .filter(person -> person.hasPet(PetType.CAT)) |
| .count(); |
| |
| List<Person> peopleWithCats = |
| this.people |
| .stream() |
| .filter(person -> person.hasPet(PetType.CAT)) |
| .collect(Collectors.toList());</pre> |
| </div> |
| </div> |
| <!-- /.tab-content --> |
| </div> |
| <!-- /.col --> |
| </div> |
| <!-- /.row --> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Rich and fluent API --> |
| |
| <div class="content-section-a"> |
| |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-5 col-sm-6"> |
| <hr class="section-heading-spacer"> |
| <div class="clearfix"></div> |
| <h2 class="section-heading">Many container types including <br>immutable collections, primitive collections, bimaps, multimaps and bags</h2> |
| <p class="lead">You can make use of various container types, leveraging handy factory methods for instantiation.</p> |
| </div> |
| <div class="col-lg-7 col-sm-6"> |
| <ul class="nav nav-tabs"> |
| <li class="active"><a href="#mutable" data-toggle="tab">Mutable collections</a></li> |
| <li><a href="#immutable" data-toggle="tab">Immutable collections</a></li> |
| <li><a href="#primitives" data-toggle="tab">Primitive collections</a></li> |
| </ul> |
| <div id="container-types" class="tab-content"> |
| <div class="tab-pane fade in active" id="mutable"> |
| <pre class="prettyprint lang-java"> |
| //Initializing mutable list with empty(), of(), with() method |
| MutableList<String> mutableListEmpty = |
| Lists.mutable.empty(); |
| MutableList<String> mutableListOf = |
| Lists.mutable.of("One", "One", "Two", "Three"); |
| MutableList<String> mutableListWith = |
| Lists.mutable.with("One", "One", "Two", "Three"); |
| |
| //Various container types available |
| MutableSet<String> mutableSet = |
| Sets.mutable.with("One", "One", "Two", "Three"); |
| MutableBag<String> mutableBag = |
| Bags.mutable.with("One", "One", "Two", "Three"); |
| MutableStack<String> mutableStack = |
| Stacks.mutable.with("One", "One", "Two", "Three"); |
| MutableMap<String, String> mutableMap = |
| Maps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3"); |
| MutableMultimap<String, String> multimapWithList = |
| Multimaps.mutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1"); |
| MutableBiMap<String, String> mutableBiMap = |
| BiMaps.mutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre> |
| </div> |
| <div class="tab-pane fade" id="immutable"> |
| <pre class="prettyprint lang-java"> |
| //Initializing immutable list with empty(), of(), with() method |
| ImmutableList<String> immutableListEmpty = |
| Lists.immutable.empty(); |
| ImmutableList<String> immutableListOf = |
| Lists.immutable.of("One", "One", "Two", "Three"); |
| ImmutableList<String> immutableListWith = |
| Lists.immutable.with("One", "One", "Two", "Three"); |
| |
| //Various container types available |
| ImmutableSet<String> immutableSet = |
| Sets.immutable.with("One", "One", "Two", "Three"); |
| ImmutableBag<String> immutableBag = |
| Bags.immutable.with("One", "One", "Two", "Three"); |
| ImmutableStack<String> immutableStack = |
| Stacks.immutable.with("One", "One", "Two", "Three"); |
| ImmutableMap<String, String> immutableMap = |
| Maps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3"); |
| ImmutableMultimap<String, String> immutableMultimapWithList = |
| Multimaps.immutable.list.with("key1", "value1-1", "key1", "value1-2", "key2","value2-1"); |
| ImmutableBiMap<String, String> immutableBiMap = |
| BiMaps.immutable.with("key1", "value1", "key2", "value2", "key3", "value3");</pre> |
| </div> |
| <div class="tab-pane fade" id="primitives"> |
| <pre class="prettyprint lang-java"> |
| //Mutable and immutable Lists, Sets, Bags, Stacks and Maps are available for all 8 primitive types |
| MutableIntList intList = |
| IntLists.mutable.of(1, 2, 3); |
| MutableLongList longList = |
| LongLists.mutable.of(1L, 2L, 3L); |
| MutableCharList charList = |
| CharLists.mutable.of('a', 'b', 'c'); |
| MutableShortList shortList = |
| ShortLists.mutable.of((short)1, (short)2, (short)3); |
| MutableByteList byteList = |
| ByteLists.mutable.of((byte)1, (byte)2, (byte)3); |
| MutableBooleanList booleanList = |
| BooleanLists.mutable.of(true, false); |
| MutableFloatList floatList = |
| FloatLists.mutable.of(1.0f, 2.0f, 3.0f); |
| MutableDoubleList doubleList = |
| DoubleLists.mutable.of(1.0, 2.0, 3.0); |
| |
| //You can create a ranged ints with IntInterval |
| IntInterval oneTo10 = |
| IntInterval.fromTo(1, 10); // ints from 1 to 10 |
| // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
| IntInterval oneTo10By3 = |
| IntInterval.fromToBy(1, 10, 3); // ints from 1 to 10 step by 3 |
| // [1, 4, 7, 10] |
| IntInterval oddsFrom1To10 = |
| IntInterval.oddsFromTo(1, 10); // odd ints from 1 to 10 |
| // [1, 3, 5, 7, 9] |
| IntInterval evensFrom1To10 = |
| IntInterval.evensFromTo(1, 10); // even ints from 1 to 10 |
| // [2, 4, 6, 8, 10]</pre> |
| </div> |
| </div> |
| <!-- /.tab-content --> |
| </div> |
| <!-- /.col --> |
| </div> |
| <!-- /.row --> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Container Types --> |
| |
| <a class="anchor" name="memory"></a> |
| <div class="content-section-b"> |
| |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-push-6 col-lg-6 col-sm-push-6 col-sm-6"> |
| <hr class="section-heading-spacer"> |
| <div class="clearfix"></div> |
| <h2 class="section-heading">Reduce memory footprint <br>with memory efficient containers</h2> |
| <p class="lead">Eclipse Collections provides memory efficient implementation of Sets and Maps as well as primitive collections. </p> |
| </div> |
| <div class="col-lg-pull-6 col-lg-6 col-sm-pull-6 col-sm-6"> |
| <ul class="nav nav-tabs"> |
| <li class="active"><a href="#set" data-toggle="tab">Sets</a></li> |
| <li><a href="#map" data-toggle="tab">Maps</a></li> |
| <li><a href="#ints" data-toggle="tab">Primitive Collections</a></li> |
| </ul> |
| <div id="memory" class="tab-content"> |
| <div class="tab-pane fade in active" id="set"> |
| <img class="img-responsive" src="img/set.png" alt=""> |
| </div> |
| <div class="tab-pane fade" id="map"> |
| <img class="img-responsive" src="img/map.png" alt=""> |
| </div> |
| <div class="tab-pane fade" id="ints"> |
| <img class="img-responsive" src="img/ints.png" alt=""> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Memory footprint --> |
| |
| <a class="anchor" name="learn"></a> |
| <div class="content-section-a"> |
| |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-5 col-sm-6"> |
| <hr class="section-heading-spacer"> |
| <div class="clearfix"></div> |
| <h2 class="section-heading">Learn Eclipse Collections with Kata</h2> |
| <p class="lead"> |
| Check out the <a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, 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. |
| </p> |
| </div> |
| <div class="col-lg-7 col-sm-6"> |
| <ul class="nav nav-tabs"> |
| <li class="active"><a href="#exercise" data-toggle="tab">Sample Exercise</a></li> |
| <li><a href="#solution" data-toggle="tab">Sample Solution</a></li> |
| </ul> |
| <div class="tab-content"> |
| <div class="tab-pane fade in active" id="exercise"> |
| <pre class="prettyprint lang-java"> |
| @Test |
| public void getFirstNamesOfAllPeople() |
| { |
| MutableList<Person> people = this.people; |
| MutableList<String> firstNames = null; //Replace null, with a transformation method on MutableList. |
| MutableList<String> expectedFirstNames = |
| Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John"); |
| Assert.assertEquals(expectedFirstNames, firstNames); |
| }</pre> |
| </div> |
| <div class="tab-pane fade" id="solution"> |
| <pre class="prettyprint lang-java"> |
| @Test |
| public void getFirstNamesOfAllPeople() |
| { |
| MutableList<Person> people = this.people; |
| MutableList<String> firstNames = people.collect(Person::getFirstName); |
| MutableList<String> expectedFirstNames = |
| Lists.mutable.with("Mary", "Bob", "Ted", "Jake", "Barry", "Terry", "Harry", "John"); |
| Assert.assertEquals(expectedFirstNames, firstNames); |
| }</pre> |
| </div> |
| </div> |
| <!-- /.tab-content --> |
| </div> |
| <!-- /.col --> |
| </div> |
| <!-- /.row --> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Kata --> |
| |
| <a class="anchor" name="history"></a> |
| <div class="content-section-b"> |
| |
| <div class="container-fluid"> |
| |
| <h2 class="section-heading">History of Eclipse Collections</h2> |
| <p class="lead"> |
| The origin of Eclipse Collections was started off as a collections framework named Caramel at Goldman Sachs in 2004. |
| |
| Since then the framework has evolved, and in 2012, it was open sourced to GitHub as a project called |
| <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>. |
| <br><br> |
| GS Collections has been presented at number of |
| <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">conferences</a> |
| including JVM Summit in 2012 and JavaOne in 2014. |
| A performance comparison between the parallel lazy implementations of Java 8, Scala and GS Collections was presented at |
| <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a> in 2014. |
| Also <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">articles</a> about GS Collections |
| (<a href="http://www.infoq.com/articles/GS-Collections-by-Example-1">Part1</a> / |
| <a href="http://www.infoq.com/articles/GS-Collections-by-Example-2">Part2</a>) |
| have published on InfoQ.com |
| showing some of the capabilities of the collections framework through examples, and also interviews to the creator of GS Collections. |
| <br><br> |
| |
| Over the years, around 40 or so developers from the same company have contributed to the collections framework. |
| <br><br> |
| |
| To maximize the best nature of open source project, GS Collections has been migrated to the Eclipse Foundation, re-branded as Eclipse Collections in 2015. |
| Now the framework is fully open to the community, accepting contributions! |
| </p> |
| </div> |
| </div> |
| <!-- History --> |
| |
| <a class="anchor" name="refGuide"></a> |
| <div class="content-section-a"> |
| <div class="container-fluid"> |
| <h2 class="section-heading">Reference Guide</h2> |
| <p class="lead"> |
| A comprehensive reference guide of the library is available on GitHub: |
| <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-reference-guide">Reference Guide</a>. |
| </p> |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Reference Guide --> |
| |
| <a class="anchor" name="sourceCode"></a> |
| <div class="content-section-b"> |
| <div class="container-fluid"> |
| <h2 class="section-heading">Source Code</h2> |
| <p class="lead"> |
| Source code can be found on GitHub: <a href="https://github.com/eclipse/eclipse-collections">Eclipse Collections</a>. |
| </p> |
| </div> |
| <!-- /.container --> |
| </div> |
| <!-- Source Code --> |
| |
| <a class="anchor" name="contribute"></a> |
| <div class="content-footer"> |
| |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-4 col-sm-4"> |
| <h3>Contribute</h3> |
| <p class="regular"> |
| We welcome contributions! |
| <br><br> |
| Eclipse Collections Project Roadmap can be found <a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">here</a>. |
| <br><br> |
| We accept contributions via pull requests in GitHub. |
| Please see <a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">How To Contribute</a> to get started. |
| </p> |
| </div> |
| <div class="col-lg-4 col-sm-4"> |
| <h3>Latest News</h3> |
| <p class="regular">Eclipse Collections 10.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.2.0">released</a> <a class="light">(Feb 11th 2020)</a></p> |
| <p class="regular">Eclipse Collections 10.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.1.0">released</a> <a class="light">(Dec 4th 2019)</a></p> |
| <p class="regular">Eclipse Collections 10.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.0.0">released</a> <a class="light">(Jul 10th 2019)</a></p> |
| <p class="regular">Eclipse Collections 9.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.2.0">released</a> <a class="light">(May 20th 2018)</a></p> |
| <p class="regular">Eclipse Collections 9.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.1.0">released</a> <a class="light">(Jan 1st 2018)</a></p> |
| <p class="regular">Eclipse Collections 9.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/9.0.0">released</a> <a class="light">(Sep 21nd 2017)</a></p> |
| <p class="regular">Eclipse Collections 8.2.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.2.0">released</a> <a class="light">(Jun 22nd 2017)</a></p> |
| <p class="regular">Eclipse Collections 8.1.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.1.0">released</a> <a class="light">(Mar 16th 2017)</a></p> |
| <p class="regular">Eclipse Collections 8.0.0 <a href="https://github.com/eclipse/eclipse-collections/releases/tag/8.0.0">released</a> <a class="light">(Sep 8th 2016)</a></p> |
| </div> |
| <div class="col-lg-4 col-sm-4"> |
| <h3>Community Links</h3> |
| <p class="regular">Eclipse PMI: <a href="https://projects.eclipse.org/projects/technology.collections">eclipse project management infrastructure</a></p> |
| <p class="regular">GitHub: <a href="https://github.com/eclipse/eclipse-collections">eclipse-collections</a></p> |
| <p class="regular">Issues: <a href="https://github.com/eclipse/eclipse-collections/issues">GitHub issues</a></p> |
| <p class="regular">Mailing lists: <a href="https://dev.eclipse.org/mailman/listinfo/collections-dev">collections-dev</a> mailing list</p> |
| <p class="regular">Wiki: <a href="https://github.com/eclipse/eclipse-collections/wiki">GitHub wiki</a></p> |
| <p class="regular">Forum: <a href="https://www.eclipse.org/forums/index.php?t=thread&frm_id=329">Eclipse Collections Forum</a></p> |
| <p class="regular">StackOverflow: tag with <a href="http://stackoverflow.com/questions/tagged/eclipse-collections">eclipse-collections</a></p> |
| </div> |
| <!-- /.col --> |
| </div> |
| <!-- /.row --> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- Container Types --> |
| |
| |
| <div class="banner"> |
| |
| <div class="container-fluid"> |
| |
| <div class="row"> |
| <div class="col-lg-12"> |
| <h3>- More features, less waste -</h3> |
| </div> |
| </div> |
| |
| </div> |
| <!-- /.container --> |
| |
| </div> |
| <!-- /.banner --> |
| |
| <!-- Footer --> |
| <footer> |
| <div class="container-fluid"> |
| <div class="row"> |
| <div class="col-lg-12"> |
| <ul class="list-inline"> |
| <li> |
| <p class="copyright text-muted small">Copyright © 2018 The Eclipse Foundation. All Rights Reserved. </p> |
| </li> |
| <li class="footer-menu-divider">⋅</li> |
| <li> |
| <a class="small" href="http://www.eclipse.org">Eclipse Foundation</a> |
| </li> |
| <li class="footer-menu-divider">⋅</li> |
| <li> |
| <a class="small" href="http://www.eclipse.org/legal">Legal</a> |
| </li> |
| <li class="footer-menu-divider">⋅</li> |
| <li> |
| <a class="small" href="http://www.eclipse.org/legal/privacy.php">Privacy</a> |
| </li> |
| <li class="footer-menu-divider">⋅</li> |
| <li> |
| <a class="small" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a> |
| </li> |
| <li class="footer-menu-divider">⋅</li> |
| <li> |
| <a class="small" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| </footer> |
| |
| <!-- jQuery --> |
| <script src="https://code.jquery.com/jquery-2.2.0.min.js"></script> |
| |
| <!-- Bootstrap Core JavaScript --> |
| <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha256-KXn5puMvxCw+dAYznun+drMdG1IFl3agK0p/pqT9KAo= sha512-2e8qq0ETcfWRI4HJBzQiA3UoyFk6tbNyG+qSaIBZLyW9Xf3sWZHN/lxe9fTh1U45DpPf07yj94KsUHHWe4Yk1A==" crossorigin="anonymous"></script> |
| |
| <!-- Google Code Prettify --> |
| <script src="https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js?skin=sunburst"></script> |
| </body> |
| |
| </html> |