从ArrayList获取重复数量

Moh*_*nde 0 java arraylist duplicates

例如,假设我有一个ArrayList可能包含以下值的值:

x
x
x
y
y
Run Code Online (Sandbox Code Playgroud)

现在我想要检索的是和的数量,x并且x我希望能够区分我拥有的,x或者y因为实际上,我可以在ArrayList中有任何对象,我必须能够区分它们.

我想要做的是首先将其转换ArrayList为a LinkedHashSet,这将保持排序并删除重复项,因此我只会拥有x,y但是我如何得到每个的数量并将其与正确的元素相关联?

总的来说,我想要做的是能够编写一个toString让我输出的方法:

x3y2
Run Code Online (Sandbox Code Playgroud)

但是,如果没有知道xy是元素,因为他们本来是别的东西像zw.

Ric*_*ngi 5

查看google guava中的Multiset:http://docs.guava-libraries.googlecode.com/git-history/v11.0.2/javadoc/com/google/common/collect/Multiset.html

例:

Multiset<String> strings = HashMultiset.create(arrayList);
int countX = strings.count("x"); // the count of x
Run Code Online (Sandbox Code Playgroud)

可以在番石榴维基上找到更多示例.