来源:百度文库 编辑:
神马文学网 时间:2024/05/12 06:53:40
带你领略 Google Collections
关键字: 工具类
Java的集合框架是Java类库当中使用频率最高的部分之一,Google公司发起了一个项目,用来扩展Java的集合框架,提供一些高级的集合操作API。
http://code.google.com/p/google-collections/
这个项目叫做Google Collection,托管在Google Code上面,它必须使用JDK5.0以上的版本
下面,让我带你领略下这个项目的优雅之处吧
1,Immutable Collections
什么是Immutable?
Immutable是不可改变的意思。
在JDK中有Collections.unmodifiableFoo()来转换,不过他们之间依然有区别。Collections.unmodifiableFoo()只是原集合的一个视图,在这个视图层面无法修改,但当原集合发生改变时,他也会跟着改变。而ImmutableFoo则是在任何情况下均无法修改。
Immutable有什么作用呢?
他们更加容易使用并且安全不易出错。(更多原因请参看Effective JAVA第二版15条)
Immutable vs. unmodifiable
虽然JDK的unmodifiable方法也能保证集合视图的不变性。但是Immutable能“保证不可改变”,“极易使用”,“更快”,“使用更少的内存(比如ImmutableSet能少2-3X)”。
来看例子程序,以前:
Java代码