guava的一些帮助类
Preconditions这个可以用来简单的判断,null,表达式等等…
排序: Ordering.natural().sortedCopy(list))…从小到大自然的排序 这个只对基本类型排序
新型的集合
- Multiset : 这个是可以重复的,不排序
eg: 可以用它来计算每个key出现的个数
Multiset<String> wordsMultiset = HashMultiset.create();
wordsMultiset.addAll(wordList);
for(String key:wordsMultiset.elementSet()){
System.out.println(key+" count:"+wordsMultiset.count(key));
}
- Multimap : key相同时,value就是个集合
Multimap<String,StudentScore> scoreMultimap = ArrayListMultimap.create();
//代替了复杂的Map<String, List<StudentScore>> StudentScoreMap = new HashMap<String, List<StudentScore>>();
- BiMap : 提供了key和value的双向映射,这里vaule要唯一
BiMap<Integer,String> logfileMap = HashBiMap.create();
BiMap<String,Integer> filelogMap = logfileMap.inverse();//这个反转不是new了一个新的对象,在对反转后的map操作之前的map也会有影响
table : 支持多个key
Table<String,Integer,String> t = HashBasedTable.create();