Я использую цикл foreach для печати всех ключей, хранящихся в моем HashMap, и их значений с помощью map.get (key), но я получаю адрес объекта, когда пытаюсь получить эти ключи.Где я иду не так?
String s="abba";
HashMap<String,Integer> map=new HashMap<String,Integer>();
for(int i=0;i<s.length();++i)
{
for(int j=i+1;j<=s.length();++j)
{
char sub[]=s.substring(i,j).toCharArray();
Arrays.sort(sub);
String s1=sub.toString();
if(!map.containsKey(s1))
map.put(s1,1);
else
map.put(s1,map.get(s1)+1); //Here also iam getting null value with map.get(s1)
}
}
for(String keyList:map.keySet())
{
System.out.println(keyList+" "+map.get(keyList));
}
Если клавиша повторяется, значение должно быть увеличено на 1, но оно остается равным 1.