版本下载: https://repo1.maven.org/maven2/com/google/guava/guava/
Guava工程包含了若干被Google的Java项目广泛依赖的核心库,例如:集合[collections]、缓存[caching]、原生类型支持[primitives support]、并发库[concurrency libraries]、通用注解[common annotations]、字符串处理[string processing]、l/0等等。所有这些工具每天都在被Google的工程师应用在产品服务中。
1、不可变集合:用不变的集合进行防御性编程和性能提升。
2、新集合类型: multisets, multimaps, tables,等
3、强大的集合工具类:提供av.til.Collections中没有的集合工具
4、扩展工具类:让实现和扩展集合类变得更容易,比如创建Collection的装饰器, 或实现迭代器
常用功能:
1、只读设置
2、函数式编程:过滤器
3、函数式编程:转换
4、组合式函数编程
5、加入约束:非空、长度验证
6、集合操作:交集、差集、并集
7、Multiset:无序可重复
8、Multimap key可以重复
9、BiMap:双向Map(bidirectional Map)键与值不能重复
10、双键的Map -->Table -->rowKey+columnKye+value
代码示例:
package com.guava;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.junit.Test;
import com.google.common.base.Function;
import com.google.common.base.Functions;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.BiMap;
import com.google.common.collect.Collections2;
import com.google.common.collect.HashBasedTable;
import com.google.common.collect.HashBiMap;
import com.google.common.collect.HashMultiset;
import com.google.common.collect.Lists;
import com.google.common.collect.Multimap;
import com.google.common.collect.Sets;
import com.google.common.collect.Sets.SetView;
import com.google.common.collect.Table;
import com.google.common.collect.Table.Cell;
public class GuavaTest {
//只读
@Test
public void guavatest1(){
//List<String> list = Arrays.asList("Tom","Booy","Lily","Tonly");
List<String> list =new ArrayList<>();
list.add("Tom");
list