public String toString()
    {
        StringBuffer sb = new StringBuffer();
        java.util.Map.Entry entry;
        for(Iterator it = entrySet().iterator(); it.hasNext(); sb.append(entry.getValue()))
        {
            entry = (java.util.Map.Entry)it.next();
            sb.append("\"").append(entry.getKey()).append("\"\n");
        }        return sb.toString();
    }能详细说说,是菜鸟

解决方案 »

  1.   

    我在API里怎么没有查到java.util.Map.Entry ?
    编译提示找不到符号---entrySet()
      

  2.   


    public String toString()
        {
            StringBuffer sb = new StringBuffer();
            java.util.Map.Entry entry;//表示一个键-值对的对象,主要方法:getKey() 返回与此项对应的键。 getValue() 返回与此项对应的值。 

    //entrySet()就是返回一个当前对象(可能是各map)的set视图,set里放的都是java.util.Map.Entry 类型对象,
    //也就是把原来对象(可能是个map)中的数据以键值对的形式放在一个set里
    //iterator()返回一个迭代器,Iterator类型对象,
    //主要方法:hasNext();如果仍有元素可以迭代,则返回 true; next();返回迭代的下一个元素
            for(Iterator it = entrySet().iterator(); it.hasNext(); sb.append(entry.getValue()))
            {
                entry = (java.util.Map.Entry)it.next();
                sb.append("\"").append(entry.getKey()).append("\"\n");
            }        return sb.toString();
        }
      

  3.   

    我想应该是重写toString()方法,
    也许你的类中有一个实现了Set接口的属性,
    这个重写的toString()方法就是以一定的格式输出这个Set中的内容,YourClass yourClass = new YourClass();
    System.out.println(yourClass); // 直接输出Set中的内容
      

  4.   

    java.util.Map.Entry 我怎么没有在API里找到噢?
      

  5.   

    entrySet的形式为:
    Set<Map.Entry<K,V>> entrySet()返回此映射中包含的映射关系的 set 视图。返回的 set 中的每个元素都是一个 Map.Entry。
    而Map.Entry为一个接口:
    public static interface Map.Entry<K,V>映射项(键-值对)。
    里面存放key和value的键值对程序首先得到entrySet()的迭代(Iterator it = entrySet().iterator()),并依次取出其中的Entry,也就是键值对,完后在键的旁边加上双引号并回车,还要加上值,整个程序就是以一定格式显示键值对,楼主运行下就明白了
      

  6.   

    Map.Entry 是 Map 接口中的内部接口,表示 Map 中的一个键值对,类的名称为:Map.Entry,通过 API 文档就能搜到了。
      

  7.   

    这个程序对吗!
    我的感觉会造成key和value错开一行。即上一个value和下一个key同行。这不是添乱吗。
      

  8.   

            Map<String,String> map = new HashMap<String,String>();
            map.put("aa", "AA");
            map.put("bb", "BB");
            map.put("cc", "CC");
            map.put("dd", "DD");
            map.put("ee", "EE");
            for(Iterator it = map.entrySet().iterator(); it.hasNext(); )
            {
                entry = (java.util.Map.Entry<String,String>)it.next();
                sb.append(entry.getKey()).append("------").append(entry.getValue()).append("\n");
            }看看带颜色的处的调用方式,输出如下:
    dd------DD
    ee------EE
    aa------AA
    bb------BB
    cc------CC