我有以下程序:
public class PopularCharacter {
public static void main(String[] args) {
PopularCharacter popularCharacter = new PopularCharacter();
char result = popularCharacter.charCounter("azzo");
System.out.println("PopularChar " + result);
}
public char charCounter(String input) {
int maxIndex = 0;
int maxValue = 0;
int[] value = new int[26];
for (int index = 0; index < input.length(); index++) {
value[input.charAt(index) - 97]++;
}
for (int index = 0; index < value.length; index++) {
if (value[index] > maxValue) {
maxValue = value[index];
maxIndex = index;
}
}
return (char) (maxIndex + 97);
}
}
我应该如何修改用HashMap实现的代码? 这是我第一次使用HashMap,我很困惑。我问你基础重组代码。
我试图这样做,但我知道这一点毫无价值:
import java.util.*;
public class MaxCharHM {
public static void main(String[] args) {
MaxCharHM popularchar = new MaxCharHM();
char result = popularchar.charCounter("aabbaacdcldkaalkccccc");
System.out.println("Popular char: " + result);
}
public HashMap <Character, Integer> buildMap (String input){
HashMap value = new HashMap();
for (int i = 0; i < input.length(); i++) {
value.put[input.charAt(i) - 97]++;
return (char) (something + 97)
etc etc
}
}
}
答案 0 :(得分:1)
您需要首先了解地图是什么以及存储数据的内容/方式..一旦您在那里,您将得到问题的答案..只需查看Map.put的参数列表(键k,值v)的