随笔分类 - Google Guava学习
摘要:一、连接器【Joiner】 二、拆分器【Splitter】 三、字符匹配器【CharMatcher】 四、字符集【Charsets】 Charsets:针对所有Java平台都要保证支持的六种字符集提供了常量引用。尝试使用这些常量,而不是通过名称获取字符集实例。 修改成以下的表达方式: 其实等同于:
阅读全文
摘要:ConcurrentHashMap融合了Hashtable和HashMap二者的优势。 Hashtable是做了线程同步,HashMap未考虑同步。所以HashMap在单线程下效率较高,Hashtable在多线程下同步操作能保证程序的正确性。 但是Hashtable每次执行同步操作都需要锁住整个结构
阅读全文
摘要:适用性 缓存在很多情况下非常实用。例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存。 Guava Cache与ConcurrentMap很相似,但也不完全一样。最基本的区别是ConcurrentMap会一直保存所添加的元素,直到显式的移除;Guava C
阅读全文
摘要:BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。 Bimap 能非常方便的实现map<key,value>的转置要求,也就是value变为key,key变为value; 保证值是唯一的,因此返回Set而不是普通的Collection 注:在BiMap中,如果你想把键
阅读全文
摘要:每个有经验的Java程序员都在某处实现过Map<K, List<V>>或Map<K, Set<V>>,并且要忍受这个结构的笨拙。 假如目前有个需求是给两个年级添加5个学生,并且统计出一年级学生的信息: 可以看到我们实现起来特别麻烦,需要检查key是否存在,不存在时则创建一个,存在时在List后面添加
阅读全文
摘要:Guava提供了一个新集合类型Multiset,它可以多次添加相等的元素,且和元素顺序无关。Multiset继承于JDK的Cllection接口,而不是Set接口。 Multiset主要方法介绍: add(E element) :向其中添加单个元素 add(E element,int occurre
阅读全文

浙公网安备 33010602011771号