Java集合框架GS Collections详解

阅读: 评论:0

Java集合框架GS Collections详解

Java集合框架GS Collections详解

Java集合框架GS Collections详解

作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:

GS Collections是一个开源的基于Java的集合框架,它兼容JDK的List、Set、Map实现,并提供了一套功能丰富的API和工具类集合,其迭代循环的实现是受Smalltalk集合框架的启发。GS Collections库的模块兼容Java 5,包括gs-collections-api,gs-collections,gs-collections-testutils。

GS Collections目前的最新版本为7.0.0版。主页见:

GS Collections特性:

1)改进了易读性,减少了迭代循环代码的重复
2)实现了数个高级迭代模式(选择select、拒绝reject、收集collect、注入inject),人性化的容器接口,继承了标准JDK的接口。
3)对于Collections、Arrays、Maps、Strings等提供了一致的迭代机制
4)对标准的ArrayList、HashSet和HashMap提供了经过优化的高性能、低内存利用率的替代
5)在工具类中执行了更多幕后的优化
6)封装了很多结构复杂的并行迭代和懒惰估算
7)添加了新的容器,包括Bag、Interval、Multimap、BiMap,以及提供了很多容器类型的不可变(Immutable)版本
8)从2005年开始发布,是一个成熟的库

GS Collections的使用:

GS Collections把迭代丰富仿照容器类型中,并使用匿名的内部类来模拟Lambdas表达式。GS Collections的编程风格如下面代码所示:

MutableList<Person> people = wListWith(person1, person2, person3);
MutableList<String> sortedLastNames = llect(Person.TO_LAST_NAME).sortThis();
System.out.println("Comma separated, sorted last names: " + sortedLastNames.makeString());

Person.TO_LAST_NAME被定义为Person类的一个常量函数

public static final Function<Person, String> TO_LAST_NAME = new Function<Person, String>() {public String valueOf(Person person) {return person.lastName;}
};

对于Java 8,此函数可以使用Lambda表达式替代:

MutableList<String> sortedLastNames = llect(person -> LastName()).sortThis();

或者是用方法引用替代:

MutableList<String> sortedLastNames = llect(Person::getLastName).sortThis();

GS Collections的Maven依赖

<dependency><groupId&ldmansachs</groupId><artifactId>gs-collections-api</artifactId><version>7.0.0</version>
</dependency>
<dependency><groupId&ldmansachs</groupId><artifactId>gs-collections</artifactId><version>7.0.0</version>
</dependency>
<dependency><groupId&ldmansachs</groupId><artifactId>gs-collections-testutils</artifactId><version>7.0.0</version><scope>test</scope>
</dependency>
<dependency><groupId&ldmansachs</groupId><artifactId>gs-collections-forkjoin</artifactId><version>7.0.0</version>
</dependency>

Gradle依赖为

dependencies {compile &#ldmansachs:gs-collections-api:7.0.0'compile &#ldmansachs:gs-collections:7.0.0'testCompile &#ldmansachs:gs-collections-testutils:7.0.0'compile &#ldmansachs:gs-collections-forkjoin:7.0.0'
}

本文发布于:2024-02-04 14:42:59,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170709588456472.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:详解   框架   Java   Collections   GS
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23