我想构造一个一一对应的数据结构
比如1对应a, 2 对应b,3对应c
不只可以根据1取得a,也可以根据a取得1
请问hashtable可以完成吗?好象hashtable的get只能根据1取出a哦。。
期待高手指教

解决方案 »

  1.   

    当然可以了。
    但它可以遍历整个keys,所以还是可以得到的。
      

  2.   

    给个具体些的例子好吗
    如果放到enumeration里,第二次也用.nextElement遍历吗
      

  3.   

    public Object getKey(Object value){
      Iterator its = data.keySet().iterator();
      while (its.hasNext()) {
           Object key = its.next();
           Object ovalue = data.get(key);
           if(ovalue==value)
              return key;
      }
      return null;
    }
      

  4.   

    创建一个新类,包含两个hashtable,一个用put(key,value),另一个put(value.tostring,key)
    当插入一个新的object时,同时插入两个hashtable,然后看你想用哪个取出来了。
    牺牲了空间,效率提高了。这是我的笨办法