java编程 写一段程序统计一段字符串中每一个单词的出现次数 并按照次数的倒序输出

例如这段字符串是"adf adf adf ad ad f”输入结果为adf 3ad 2f 1
2024-11-18 18:34:27
推荐回答(2个)
回答(1):

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;

public class MapSort {
public static void main(String[] args) {
String str = "adf adf ad adf adf ad ad f ad ad";
String[] items = str.split(" ");
Map map = new HashMap();
for (String s : items) {
if (map.containsKey(s))
map.put(s, map.get(s) + 1);
else {
map.put(s, 1);
}
}
List> list = new ArrayList>();
for (Entry entry : map.entrySet()) {
list.add(entry);
}
Collections.sort(list, new EntryComparator());

for (Entry obj : list) {
System.out.println(obj.getKey() + "\t" + obj.getValue());
}
}
}

class EntryComparator implements Comparator> {
public int compare(Entry o1, Entry o2) {
return o1.getValue() > o2.getValue() ? 0 : 1;
}
}

参数你可以自己修改!

回答(2):

单词从哪来?用户输入?