google的guava工具包有很多好东西,下面简单介绍一下
不可变map或者list
//不可变map,key不能相同
ImmutableMap<Object, Object> immutableMap = ImmutableMap.of(//最多5条数据
"name","张三",
"age","33",
"sex","男",
"address","北京",
"phone","120"
);
Object name = immutableMap.get("phone");
System.out.println(name);
List<Integer> list = ImmutableList.of(1, 2, 2);
list.add(4);
System.out.println(list);
集合分割
重复key的map
//允许重复的key,并把值保存到集合中
ListMultimap<Object, Object> listMultimap = ArrayListMultimap.create();
listMultimap.put("name","张三");
listMultimap.put("age","33");
listMultimap.put("sex","男");
listMultimap.put("address","北京");
listMultimap.put("address","成都");
List<Object> list = listMultimap.get("address");
System.out.println(list);
//HashMultimap ArrayListMultimap LinkedHashMultimap TreeMultimap
Multimap<String,Double> multimap = HashMultimap.create();
multimap.put("java",183.8);
multimap.put("java",83.8);
multimap.put("java",53.8);
multimap.put("mysql",33.8);
multimap.put("mysql",3.8);
multimap.put("java",83.8);
Collection<Double> java = multimap.get("java");
Collection<Double> mysql = multimap.get("mysql");
拼接字符串
//不能过滤null和“”
StringJoiner stringJoiner = new StringJoiner(";");
stringJoiner.add("1");
stringJoiner.add(null);
stringJoiner.add("1");
stringJoiner.add("");
stringJoiner.add("1");
System.out.println(stringJoiner.toString());
//可以过滤null,不能过滤“”
Joiner joiner = Joiner.on(";").skipNulls();
List<Object> newArrayList = Lists.newArrayList(1, null, 1, "", 1);
String join = joiner.join(newArrayList);
System.out.println(join);
前置条件判断
//前置条件判断
boolean hasRight = false;
Object parms = null;
Preconditions.checkArgument(hasRight,"Invalid parameter: %s",hasRight);
Preconditions.checkNotNull(parms,"%s cant be not null",parms);
依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>21.0</version>
</dependency>