Guava.工程包含了若干被Google的Java项目广泛依赖的核心库,例如:集合[collections]、 缓存[caching]、原生类型支持[primitives support]、并发库[concurrency libraries]、通用注解common annotations]、字符串处理[string processing]、I/0等等。所有这些工具每天都在被Google的工程师应用在产品服务中。
Guava对JDK集合的扩展,这是Guava最成熟和为人所知的部分。
1、不可变集合:用不变的集合进行防御性编程和性能提升。
2、新集合类型: multisets, multimaps, tables,等I
3、强大的集合工具类:提供java.ti.Collections中没有的集合工具
4、扩展工具类:让实现和扩展集合类变得更容易,比如创建Collection的装饰器, 或实现迭代器此处只展示让集合变为可读,更多内容查看Guava文档学习
import com.google.common.collect.ImmutableList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class guavaTest {
public static void main(String[] args) {
test();
}
/**
* 集合变为可读
*/
public static void test(){
//利用 Arrays.asList(T[] args) 初始化就是固定的长度
List<String> list = Arrays.asList("jack","tom","lily", "bin");
// list. add("vince");//报错
//利用 Collections.unmodifiableList(集合) 由可拓展变为固定长度
List<String> list2 = new ArrayList<>();
list2 . add("jack");
list2 . add("tom");
list2.add("lily");
list2. add("bin");
List<String> readList = Collections.unmodifiableList(list2);
// readList. add("vince");//报错
//利用 Guava工具类 初始化就是固定的长度
ImmutableList<String> list3 = ImmutableList.of("jack","tom","lily","bin");
// list3.add("vince");
}
}
Guava各版本下载:点击此处下载Guava,分别需要下载三个包: