我有一个字符串数组:
String[] stringArray = {"x", "y", "z", "x", "x", "y", "a"};
将其订购为更小的最快/最有效的方法是什么Collection
按照每个频率的顺序String
是和它的频率有关吗?
我想使用String
作为一个关键HashMap<String,Integer>
但这不会按频率排序
我考虑的另一种方法是使用TreeMap<Integer, String[]>
带有该整数的字符串列表,但似乎涉及很多检查..
我试图避免使用多个循环如果可能的话作为我的String
数组将比上面的数组大得多。谢谢!
EDIT我想要的只是能够按频率顺序输出字符串,并且最好能够将该字符串与其在数组中的频率配对,例如两个输出数组:
["x", "y", "z", "a"]
[3,2,1,1]
如果速度不是问题的话,这将是一个非常简单的问题,这就是为什么我在这里询问伟大的思想家:)