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();