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);
}
求助map存值问题怎么都想不通
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
threenewbee 2018-10-27 06:39关注你的代码不完整,我修正了下:
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相同的放入其中。
还有不明白请追问,如果问题解决,
请点我回答右边的采纳,谢谢。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报