/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// your code goes here
int[] arr= {1,2,1,1,2,3};
HashMap <Integer,ArrayList<Integer>> hm= new HashMap<Integer,ArrayList<Integer>>();
for(int i=0;i<arr.length;i++)
{
if(hm.get(arr[i])==null)
{
hm.put(arr[i],new ArrayList<Integer>());
hm.get(arr[i]).add(i);
}
else
hm.get(arr[i]).add(i);
}
int[] res= new int[6];
for(Map.Entry m:hm.entrySet())
{
ArrayList<Integer> p=m.getValue();
for(int i=0;i<p.size();i++)
{
int s=0;
for(int j=0;j<p.size();j++)
{
if(i!=j)
s=s+Math.abs(p.get(i)-p.get(j));
}
res[p.get(i)]=s;
}
}
for(int i=0;i<res.length;i++)
System.out.print(res[i]+" ");
}
}
Выдает ошибку компилятора:
Main. java: 28: ошибка: несовместимые типы: объект не может быть преобразован в ArrayList ArrayList p = m.getValue (); ^ 1 ошибка
Почему отображаются несовместимые типы?