A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 盛亚昆 中级黑马   /  2012-3-21 17:16  /  1588 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.*;
class MapTest5
{
        public static void main(String[] args)
        {
                HashMap<String,HashMap<String,String>> xuexiao=new HashMap<String,HashMap<String,String>>();//建立学校集合,键是班级名称,值是班级实体
       
                HashMap<String,String> banji1=new HashMap<String,String>();//建立集合班级1,添加键是学号,值是学生
       
                HashMap<String,String> banji2=new HashMap<String,String>();
               
                xuexiao.put("ban1","banji1");//这里怎么出现错误了啊???
                xuexiao.put("ban2","banji2");

       
                banji1.put("01","张三");
                banji1.put("02","李四");
               
                banji2.put("01","王五");
                banji2.put("02","赵六");
               
                getStudentinfo(banji1);
        }
        public static void getStudentinfo(HashMap<String,String> banji)//括号里的能帮写一下详细的步骤吗?
        {       
                //HashMap<String,String> banji=new HashMap<String,String> ();这句 省略了
               
                Set<String> keySet=banji.keySet();
                Iterator<String>it=keySet.iterator();
                while(it.hasNext())
                {
                        String id=it.next();
                        String name=banji.get(id);
                        System.out.println(id+"***"+name);
                }
       
        }
}


MapTest5.java:25: 找不到符号
符号: 方法 put(java.lang.String,java.lang.String)
位置: 类 java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Strin
java.lang.String>>
                xuexiao.put("ban1","banji1");//这里怎么出现错误了啊???
                       ^
MapTest5.java:26: 找不到符号
符号: 方法 put(java.lang.String,java.lang.String)
位置: 类 java.util.HashMap<java.lang.String,java.util.HashMap<java.lang.Strin
java.lang.String>>
                xuexiao.put("ban2","banji2");
                       ^
2 错误

4 个回复

倒序浏览
其实吧,这个是根据你的定义来的,你的xuexiao这个hashmap的泛型是这个<String,HashMap<String,String>>,然后你在使用put方法是装进去的却是两个String类型,你把后面的banji1,banji2的双引号去掉,就可以了
回复 使用道具 举报
楼上正解
你是范型是HashMap<String,HashMap<String,String>>
简写的话就是<String类,HashMap类> 然后HashMap的对象是班级对象,里面是<String,String>
所以
xuexiao.put("ban1",banji1);
xuexiao.put("ban2",banji2);
回复 使用道具 举报

import java.util.*;
public class MapTest5
{
        public static void main(String[] args)
        {
                HashMap<String,HashMap<String,String>> xuexiao=new HashMap<String,HashMap<String,String>>();//建立学校集合,键是班级名称,值是班级实体
        
                HashMap<String,String> banji1=new HashMap<String,String>();//建立集合班级1,添加键是学号,值是学生
        
                HashMap<String,String> banji2=new HashMap<String,String>();
               
                xuexiao.put("ban1",banji1);//这里怎么出现错误了啊???
                xuexiao.put("ban2",banji2);

        
                banji1.put("01","张三");
                banji1.put("02","李四");
               
                banji2.put("01","王五");
                banji2.put("02","赵六");
               
                getStudentinfo(banji1);
        }
        public static void getStudentinfo(HashMap<String,String> banji)//括号里的能帮写一下详细的步骤吗?
        {        
                //HashMap<String,String> banji=new HashMap<String,String> ();这句 省略了
               
                Set<String> keySet=banji.keySet();
                Iterator<String>it=keySet.iterator();
                while(it.hasNext())
                {
                        String id=it.next();
                        String name=banji.get(id);
                        System.out.println(id+"***"+name);
                }
        
        }
}

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马