1 重点:
1.1 3 Multiset简介
1.2 4 Multiset常用方法
1.3 6 多种Multiset的实现
2 新集合类型简介
Guava引入了很多JDK没有的、但明显有用的新集合类型。这些新类型是为了和JDK集合框架共存,而没有往、JDK集合抽象中硬塞其他概念。(如Multiset)
3 Multiset简介
Set:无序并且元素不能重复的集合
List:有序并且元素可以重复的集合
Multiset:无序元素可以重复的集合
4 Multiset常用方法
没有元素顺序限制的ArrayList(E)
◆add(E):添加单个给定元素
◆iterator():返回一个迭代器,包含Multiset所有元素(包括重复元素)
◆size():返回所有元素的总个数(包括重复元素)
Map<E,Integer>,键为元素,值为计数
◆count(Object):返回给定元素的计数
◆entrySet():返回Set<Multiset.Entry<E>>,和Map的entrySet类似
◆elementSet():返回所有不重复元素的Set<E>,和Map的keySet类似
5 Multiset与Map的区别
◆元素计数只能是正数,map可以为负数
◆multiset.size()返回集合大小
◆multiset.iterator()会迭代重复元素
◆multiset支持直接设置元素的计数
◆没有的元素,multiset.count(E)为0,map返回null
6 多种Multiset的实现
◆HashMultiset
◆ConcurrentHashMultiset
◆TreeMultiset、
◆ImmutableMultiset
◆LinkedHashMultiset