Map> map=new HashMap<>();
int [] array={1,2,4,5,6,9,8,7,4,1,2,5,8,9,6,3,2,1,4,7,8,5,2,2,3,6};
for (int ar:array){
List list=map.get(ar);
if(list!=null){
list.add(ar);
}else {
List li=new ArrayList<>();
li.add(ar);
map.put(ar,li);
}
System.out.println(map);
}
你的代码不完整,我修正了下:
import java.util.*;
class Untitled {
public static void main(String[] args) {
Map<Object,List<Object>> map=new HashMap<>();
int [] array={1,2,4,5,6,9,8,7,4,1,2,5,8,9,6,3,2,1,4,7,8,5,2,2,3,6};
for (int ar:array){
List list=map.get(ar); //从map里找是否有这个数字的“类”
if(list!=null){ //有的话
list.add(ar); //添加到对应的类下的list里面
}else { //没有的话
List li=new ArrayList<>(); //定义一个list
li.add(ar); //将这个数字添加进去(类似上面3行)
map.put(ar,li); //把类别和list放入map
}
System.out.println(map); //输出当前map的状态
}
}
}
运行结果:
{1=[1]}
{1=[1], 2=[2]}
{1=[1], 2=[2], 4=[4]}
{1=[1], 2=[2], 4=[4], 5=[5]}
{1=[1], 2=[2], 4=[4], 5=[5], 6=[6]}
{1=[1], 2=[2], 4=[4], 5=[5], 6=[6], 9=[9]}
{1=[1], 2=[2], 4=[4], 5=[5], 6=[6], 8=[8], 9=[9]}
{1=[1], 2=[2], 4=[4], 5=[5], 6=[6], 7=[7], 8=[8], 9=[9]}
{1=[1], 2=[2], 4=[4, 4], 5=[5], 6=[6], 7=[7], 8=[8], 9=[9]}
{1=[1, 1], 2=[2], 4=[4, 4], 5=[5], 6=[6], 7=[7], 8=[8], 9=[9]}
{1=[1, 1], 2=[2, 2], 4=[4, 4], 5=[5], 6=[6], 7=[7], 8=[8], 9=[9]}
{1=[1, 1], 2=[2, 2], 4=[4, 4], 5=[5, 5], 6=[6], 7=[7], 8=[8], 9=[9]}
{1=[1, 1], 2=[2, 2], 4=[4, 4], 5=[5, 5], 6=[6], 7=[7], 8=[8, 8], 9=[9]}
{1=[1, 1], 2=[2, 2], 4=[4, 4], 5=[5, 5], 6=[6], 7=[7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1], 2=[2, 2], 4=[4, 4], 5=[5, 5], 6=[6, 6], 7=[7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1], 2=[2, 2], 3=[3], 4=[4, 4], 5=[5, 5], 6=[6, 6], 7=[7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1], 2=[2, 2, 2], 3=[3], 4=[4, 4], 5=[5, 5], 6=[6, 6], 7=[7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2], 3=[3], 4=[4, 4], 5=[5, 5], 6=[6, 6], 7=[7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2], 3=[3], 4=[4, 4, 4], 5=[5, 5], 6=[6, 6], 7=[7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2], 3=[3], 4=[4, 4, 4], 5=[5, 5], 6=[6, 6], 7=[7, 7], 8=[8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2], 3=[3], 4=[4, 4, 4], 5=[5, 5], 6=[6, 6], 7=[7, 7], 8=[8, 8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2], 3=[3], 4=[4, 4, 4], 5=[5, 5, 5], 6=[6, 6], 7=[7, 7], 8=[8, 8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2, 2], 3=[3], 4=[4, 4, 4], 5=[5, 5, 5], 6=[6, 6], 7=[7, 7], 8=[8, 8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2, 2, 2], 3=[3], 4=[4, 4, 4], 5=[5, 5, 5], 6=[6, 6], 7=[7, 7], 8=[8, 8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2, 2, 2], 3=[3, 3], 4=[4, 4, 4], 5=[5, 5, 5], 6=[6, 6], 7=[7, 7], 8=[8, 8, 8], 9=[9, 9]}
{1=[1, 1, 1], 2=[2, 2, 2, 2, 2], 3=[3, 3], 4=[4, 4, 4], 5=[5, 5, 5], 6=[6, 6, 6], 7=[7, 7], 8=[8, 8, 8], 9=[9, 9]}
这段代码的作用是,把array的值归类插入map里,map的key是int,表示它其中存放的int(归类),value是一个list,所有和key相同的放入其中。
还有不明白请追问,如果问题解决,请点我回答右边的采纳
,谢谢。