例如,假设我有一个ArrayList
可能包含以下值:
x
x
x
y
y
现在我想要检索的是x
and x
我希望能够区分我所拥有的x
or y
因为实际上,我可以在 ArrayList 中拥有任何对象,并且我必须能够区分它们。
我想做的是首先转换ArrayList
into a LinkedHashSet
,这将保持排序并删除重复项,这样我就可以了x
and y
但是我如何获得每个元素的数量并将其与正确的元素关联起来?
总的来说,我想做的是能够写一个toString
让我输出的方法:
x3y2
但在不知道的情况下x
and y
是元素,因为它们可能是其他类似的东西z
or w
.
查看 google guava 中的 Multiset:http://docs.guava-libraries.googlecode.com/git-history/v11.0.2/javadoc/com/google/common/collect/Multiset.html http://docs.guava-libraries.googlecode.com/git-history/v11.0.2/javadoc/com/google/common/collect/Multiset.html
Example:
Multiset<String> strings = HashMultiset.create(arrayList);
int countX = strings.count("x"); // the count of x
更多示例可以在番石榴维基 http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained#Multiset.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)