Mat*_* B. 5 java sorting string substring
以免我说我有字符串:
String test= "AA BB CC BB BB CC BB";
Run Code Online (Sandbox Code Playgroud)
我想做的是像这样创建String数组:
String[]{"BB", "CC", "AA"}
Run Code Online (Sandbox Code Playgroud)
由于B发生4次,C次2次,A只1次.
String test = "AA BB CC BB BB CC BB";
System.out.println(Arrays.deepToString(sort(test)));
Run Code Online (Sandbox Code Playgroud)
输出: [BB, CC, AA]
码:
public static String[] sort(String test) {
String[] strings = test.split(" ");
HashMap<String,Integer> map = new HashMap<String,Integer>();
for (String s : strings) {
Integer i = map.get(s);
if (i != null) {
map.put(s, i+1);
} else {
map.put(s, 1);
}
}
TreeMap<Integer,String> sort = new TreeMap<Integer,String>(Collections.reverseOrder());
for (Entry<String,Integer> e : map.entrySet()) {
sort.put(e.getValue(), e.getKey());
}
return sort.values().toArray(new String[0]);
}
Run Code Online (Sandbox Code Playgroud)