c java gs_Java集合框架GS Collections具体解释

Java集合框架GS Collections具体解释

作者:chszs。未经博主同意不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/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 people = FastList.newListWith(person1, person2, person3);

MutableList sortedLastNames = people.collect(Person.TO_LAST_NAME).sortThis();

System.out.println("Comma separated, sorted last names: " + sortedLastNames.makeString());

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

public static final Function TO_LAST_NAME = new Function() {

public String valueOf(Person person) {

return person.lastName;

}

};

对于Java 8。此函数能够使用Lambda表达式替代:

MutableList sortedLastNames = people.collect(person -> person.getLastName()).sortThis();

或者是用方法引用替代:

MutableList sortedLastNames = people.collect(Person::getLastName).sortThis();

GS Collections的Maven依赖

com.goldmansachs

gs-collections-api

7.0.0

com.goldmansachs

gs-collections

7.0.0

com.goldmansachs

gs-collections-testutils

7.0.0

test

com.goldmansachs

gs-collections-forkjoin

7.0.0

Gradle依赖为

dependencies {

compile 'com.goldmansachs:gs-collections-api:7.0.0'

compile 'com.goldmansachs:gs-collections:7.0.0'

testCompile 'com.goldmansachs:gs-collections-testutils:7.0.0'

compile 'com.goldmansachs:gs-collections-forkjoin:7.0.0'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值