| <!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="cn"> |
| |
| <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 - 满足你所有需求的集合包。 </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">入门须知</a> |
| </li> |
| <li> |
| <a href="#concept">概念</a> |
| </li> |
| <li> |
| <a href="#learn">学习</a> |
| </li> |
| <li> |
| <a href="#history">历史</a> |
| </li> |
| <li> |
| <a href="#refGuide">参考指南</a> |
| </li> |
| <li> |
| <a href="#sourceCode">源代码</a> |
| </li> |
| <li> |
| <a href="#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.4.0">10.4.0</a></li> |
| <li><a href="../javadoc/10.3.0">10.3.0</a></li> |
| <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/8.2.0">8.2.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">语言<span class="caret"></span></a> |
| <ul class="dropdown-menu"> |
| <li><a href="../index.html">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="">中文</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>- 满足你所有需求的集合包 -</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">Eclipse Collections入门须知</h2> |
| <p class="lead">Eclipse Collections 是最完善的Java集合框架, 它会为你的Java 编程带来无限的乐趣。 |
| <br><br>现在就使用你最喜欢的构建工具把它运用在你的Java项目中吧!</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.4.0</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.eclipse.collections</groupId> |
| <artifactId>eclipse-collections</artifactId> |
| <version>10.4.0</version> |
| </dependency></pre> |
| </div> |
| <div class="tab-pane fade" id="gradle"> |
| <pre class="prettyprint"> |
| implementation 'org.eclipse.collections:eclipse-collections-api:10.4.0' |
| implementation 'org.eclipse.collections:eclipse-collections:10.4.0'</pre> |
| </div> |
| <div class="tab-pane fade" id="ivy"> |
| <pre class="prettyprint"> |
| <dependency org="org.eclipse.collections" name="eclipse-collections-api" rev="10.4.0" /> |
| <dependency org="org.eclipse.collections" name="eclipse-collections" rev="10.4.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.4.0">eclipse-collections-api-10.4.0.jar</a> |
| <a target="_blank" href="http://mvnrepository.com/artifact/org.eclipse.collections/eclipse-collections/10.4.0">eclipse-collections-10.4.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">简单明了而且功能强大的APIs</h2> |
| <p class="lead">您可以直接调用集合中丰富的API让Java 8 Lambda表达式和方法引用发挥到极致。 |
| </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和方法引用的实例</a></li> |
| <li><a href="#ec" data-toggle="tab">Eclipse Collections和Lambda表达式的实例</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">拥有不同种类的容器,其中包括<br>可变和不可变集合,原始类型集合, bimaps, multimaps 和 bags</h2> |
| <p class="lead">通过Eclipse Collections的工厂方法,您可以轻松地创建各种集合类型。</p> |
| </div> |
| <div class="col-lg-7 col-sm-6"> |
| <ul class="nav nav-tabs"> |
| <li class="active"><a href="#mutable" data-toggle="tab">可变集合</a></li> |
| <li><a href="#immutable" data-toggle="tab">不可变集合</a></li> |
| <li><a href="#primitives" data-toggle="tab">原始类型集合</a></li> |
| </ul> |
| <div id="container-types" class="tab-content"> |
| <div class="tab-pane fade in active" id="mutable"> |
| <pre class="prettyprint lang-java"> |
| //使用empty(), of(), with()方法初始化可变列表 |
| 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"); |
| |
| //不同容器的示例 |
| 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"> |
| //使用empty(), of(), with()方法初始化不可变列表 |
| 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"); |
| |
| //不同容器的示例 |
| 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"> |
| //全部8种原始类型都有相应的可变与不可变的Lists, Sets, Bags, Stacks 和 Maps |
| 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); |
| |
| //使用IntInterval创建指定范围的整数集合 |
| IntInterval oneTo10 = |
| IntInterval.fromTo(1, 10); // 从 1 到 10 的整数 |
| // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
| IntInterval oneTo10By3 = |
| IntInterval.fromToBy(1, 10, 3); // 从 1 到 10 间隔为3的整数 |
| // [1, 4, 7, 10] |
| IntInterval oddsFrom1To10 = |
| IntInterval.oddsFromTo(1, 10); // 从 1 到 10 的奇数 |
| // [1, 3, 5, 7, 9] |
| IntInterval evensFrom1To10 = |
| IntInterval.evensFromTo(1, 10); // 从 1 到 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">使用高效的容器来降低内存空间</h2> |
| <p class="lead">Eclipse Collections拥有内存优化的Sets, Maps和原始类型集合。 </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">原始类型集合</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">通过Kata学习Eclipse Collections</h2> |
| <p class="lead"> |
| 请参考<a href="https://github.com/eclipse/eclipse-collections-kata">Eclipse Collections Kata</a>, 一种学习Eclipse Collections常用方法的有趣途径。 |
| 我们给这个kata练习定制了一系列失败的单元测试。 |
| 你的任务是运用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">练习示例</a></li> |
| <li><a href="#solution" data-toggle="tab">解答示例</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; //用MutableList上的转化方法来替代null。 |
| 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">Eclipse Collections的历史</h2> |
| <p class="lead"> |
| Eclipse Collections起源于2004年在高盛公司内部开发的一个名为Caramel的集合框架。 |
| |
| 自那以后,这个框架不断发展并在2012年开源成为GitHub中一个叫做 |
| <a href="https://github.com/goldmansachs/gs-collections">GS Collections</a>的项目。 |
| <br><br> |
| 许多 |
| <a href="https://github.com/eclipse/eclipse-collections/wiki/Conference-talks-and-meetups">会议</a>中都有介绍GS Collections。 |
| 包括2012的JVM Summit和2014的JavaOne。 |
| 此外,在2014年的 |
| <a href="http://www.infoq.com/presentations/java-streams-scala-parallel-collections">QCon New York</a>上还介绍了在Java 8,Scala和GS Collections的平行惰性实现之间的性能比较。 |
| <a href="https://github.com/eclipse/eclipse-collections/wiki/Articles">关于GS Collections的文章</a> |
| (<a href="http://www.infoq.com/cn/articles/gs-collections-examples-tutorial-part1/">第一部分</a> / |
| <a href="http://www.infoq.com/cn/articles/gs-collections-examples-tutorial-part2">第二部分</a>) |
| 已经刊登在InfoQ.com, 文中通过实例展示了集合框架的一些功能,并且还向GS Collections的创始人进行了采访。 |
| <br><br> |
| |
| 多年来,大约40多名来自同一家公司的开发人员对集合框架做出了贡献。 |
| <br><br> |
| |
| 为了最大限度地发挥开源项目的最佳特质,GS Collections已经被迁移到Eclipse Foundation,并在2015年被重新命名为Eclipse Collections。 |
| 现在这个框架完全向大家开放,接受贡献! |
| </p> |
| </div> |
| </div> |
| <!-- History --> |
| |
| <a class="anchor" name="refGuide"></a> |
| <div class="content-section-a"> |
| <div class="container-fluid"> |
| <h2 class="section-heading">参考指南</h2> |
| <p class="lead"> |
| GitHub上有Eclipse Collections的详细参考指南: |
| <a href="https://github.com/eclipse/eclipse-collections/blob/master/docs/guide.md#eclipse-collections-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">源代码</h2> |
| <p class="lead"> |
| 在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>贡献</h3> |
| <p class="regular"> |
| 欢迎大家来贡献! |
| <br><br> |
| 请参考<a href="https://github.com/eclipse/eclipse-collections/wiki/Roadmap">这里</a>的Eclipse Collections项目路线图. |
| <br><br> |
| 我们通过GitHub的pull请求接受贡献。 |
| 有关详细信息, 请参阅<a href="https://github.com/eclipse/eclipse-collections/blob/master/CONTRIBUTING.md">如何贡献</a> |
| </p> |
| </div> |
| <div class="col-lg-4 col-sm-4"> |
| <h3>最新消息</h3> |
| <p class="regular">Eclipse Collections 10.4.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.4.0">发布</a> <a class="light">(Aug 20th 2020)</a></p> |
| <p class="regular">Eclipse Collections 10.3.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.3.0">发布</a> <a class="light">(Aug 8th 2020)</a></p> |
| <p class="regular">Eclipse Collections 10.2.0 版本<a href="https://github.com/eclipse/eclipse-collections/releases/tag/10.2.0">发布</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">发布</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">发布</a> <a class="light">(Jul 10th 2019)</a></p> |
| </div> |
| <div class="col-lg-4 col-sm-4"> |
| <h3>社区链接集合</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>- 更多的功能,更少的浪费 -</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> |