-2
我有以下程序:如何将简单的程序转换为Java中的HashMap?
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
}
}
}
@hlmAnShU:我应该弄乱整个代码,还是解决方案是关闭第一个程序? –
在上面的代码示例中,您使用了一个索引值为26的列表,并且该索引处的值是一个字符出现的次数。地图将数据从键映射到索引..因此,您将有26个键在你的地图中,每当你在'输入'中找到字符时,你的值就会增加1 ..这样就和列表中的逻辑非常相似...... – hImAnShU
我的介入是由于事实决定是否转换只发生在HashMap或甚至主要的方法中。 我想知道指导方针,而不是锻炼解决方案。 –