免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1554 | 回复: 3
打印 上一主题 下一主题

一个关于hashmap的疑问。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-12-19 20:05 |只看该作者 |倒序浏览
遇到一个问题,
     使用hashmap时,如何使两个key 使用的是同一个value?
      就是说  (A1, V)
              (B2,A1)时,  如何使B2的值为v,而且随A1中V值的变化而改变。
    看了几篇关于map的文章仍不太明白,请大家指教。

论坛徽章:
0
2 [报告]
发表于 2004-12-20 13:04 |只看该作者

一个关于hashmap的疑问。。。

不如自己写一个HashMap的子类,实现你的功能

论坛徽章:
0
3 [报告]
发表于 2004-12-20 15:59 |只看该作者

一个关于hashmap的疑问。。。

可以继承一下HashMap类,然后重写一个自己的get()方法。

论坛徽章:
0
4 [报告]
发表于 2004-12-20 21:22 |只看该作者

一个关于hashmap的疑问。。。

我都已经写了,可是我的get()同时还负责计算部分,下面就是程序,我想把A1的v直接赋给B2,可是测试通不过。
    请指教
    public class Sheet {
        private HashMap hp = new HashMap();
        private String out="";
        /**
         * @param string
         * @return
         */
        public Object get(String string) {
                // TODO 自动生成方法存根
                if (hp.containsKey(string)) {
                        Stock sto = (Stock) hp.get(string);
                        if(sto.toString().length()>;0&&sto.toString().charAt(0)=='=')
                        {Select outs = new Select(sto.toString().substring(1));
                          out = outs.select();
                          System.out.println("------->;" + out);
                        return out;
                        }
                        else
                                return sto.getstock();
                }
                return "";
        }


        /**
         * @param theCell
         * @param string
         */
        public void put(String theCell, String string) {
                // TODO 自动生成方法存根
                if(string.length()>;0&&string.charAt(0)=='=')
            {if(hp.containsKey(string.substring(1))){
                    hp.put(theCell,hp.get(string.substring(1)));
            }
           }else
                hp.put(theCell, Stock.inputstock(string));

        }

        /**
         * @param theCell
         * @return
         */
        public Object getLiteral(String theCell) {
                // TODO 自动生成方法存根
                if (hp.containsKey(theCell)) {
                        Stock sto = (Stock) hp.get(theCell);
                        return sto.toString();
                }
                return "";
        }

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP