如何将map.getValue()转换为ArrayList <Integer>()?

jay*_*tel 0 java collections casting arraylist

我想要做的是,将索引存储在当前元素重复的数组列表中,我已经完成了,现在我想检查一下。

HashMap<Integer,ArrayList<Integer>> hmap = new HashMap<>();
        for(int i=0;i<arr.length;i++)
        {
            if(!hmap.containsKey(arr[i]))
            {
                ArrayList<Integer> a1 = new ArrayList<>();
                hmap.put(arr[i],a1);
            }
            else
                hmap.get(arr[i]).add(i);
        }

        for(Map.Entry m:hmap.entrySet())
        {
            ArrayList<Integer> alist = {Here it is showing erorr.}m.getValue();
            System.out.println(m.getKey()+" ");
            for(int i=0;i<alist.size();i++) 
                System.out.print(alist.get(i)+" ");
        }
Run Code Online (Sandbox Code Playgroud)

小智 5

您必须在foreach循环中指定通用类型(与Map中相同)。

for (Map.Entry<Integer, ArrayList<Integer>> m : hmap.entrySet())
Run Code Online (Sandbox Code Playgroud)