在这个程序中,我将获得一个名称列表,这些名称将在采取特定操作后通过system.out.print()方法(例如system.out.print(“Joe,”))打印。 / p>
例如,我的输出将是
Joe, Ben, Ben, Tom, Ben, Joe, Tom, Tom, Joe, Tom
现在我需要找到一种方法,使用Java来浏览打印的名称列表并收集最常见的名称,理想情况是在完成计算后会打印出类似的内容。
The most common name was: Tom
我考虑过创建int计数器,每次打印名称时都会增加++,但我不知道如何进一步使用这种解决方案。这可能相当不错,所以我很感激你的时间!
答案 0 :(得分:1)
我能想到的两种方式:
两种方法都具有相似的复杂性
答案 1 :(得分:1)
您可以使用HashMap。声明如下。
HashMap<String, Integer> hm = new HashMap<>();
要将名称存储为每个名称的键和计数器,请使用这样的方法。
public HashMap<String, Integer> incrementCountForName(HashMap<String, Integer> hm, String name) {
if (hm.containsKey(name)) {
int count = hm.get(name);
hm.put(name, count + 1);
} else {
hm.put(name, 1);
}
return hm;
}
要查找地图的最大值,您可以查看here。有很多商品解决方案。