摘要: 适用性 缓存在很多情况下非常实用。例如,计算或检索一个值的代价很高,并且对同样的输入需要不止一次获取值的时候,就应当考虑使用缓存。 Guava Cache与ConcurrentMap很相似,但也不完全一样。最基本的区别是ConcurrentMap会一直保存所添加的元素,直到显式的移除;Guava C 阅读全文
posted @ 2016-08-16 16:59 星星满天 阅读(25031) 评论(2) 推荐(4) 编辑
摘要: BiMap提供了一种新的集合类型,它提供了key和value的双向关联的数据结构。 Bimap 能非常方便的实现map<key,value>的转置要求,也就是value变为key,key变为value; 保证值是唯一的,因此返回Set而不是普通的Collection 注:在BiMap中,如果你想把键 阅读全文
posted @ 2016-08-16 15:58 星星满天 阅读(840) 评论(0) 推荐(0) 编辑
摘要: 每个有经验的Java程序员都在某处实现过Map<K, List<V>>或Map<K, Set<V>>,并且要忍受这个结构的笨拙。 假如目前有个需求是给两个年级添加5个学生,并且统计出一年级学生的信息: 可以看到我们实现起来特别麻烦,需要检查key是否存在,不存在时则创建一个,存在时在List后面添加 阅读全文
posted @ 2016-08-16 15:44 星星满天 阅读(18879) 评论(0) 推荐(0) 编辑
摘要: Guava提供了一个新集合类型Multiset,它可以多次添加相等的元素,且和元素顺序无关。Multiset继承于JDK的Cllection接口,而不是Set接口。 Multiset主要方法介绍: add(E element) :向其中添加单个元素 add(E element,int occurre 阅读全文
posted @ 2016-08-16 14:41 星星满天 阅读(565) 评论(0) 推荐(0) 编辑