比如我想对应对象A有A1,A2等,对应B有B1,B2等,用什么存储呢?
好像Hashtable不行,如果已经有了(A,A1),那么当我再Put进去(A,A2)的时候就把(A,A1)覆盖了。谢谢

解决方案 »

  1.   

    hash表肯定是不行了  非要是这种健值对吗class a

       A  a1;
       A  a2;

    封装一下  放到数组里呢?
      

  2.   

    或者换一下  让A1对A
                  A2再队A呢?
      

  3.   

    我在考虑能不能用hashtable(key, Arraylist)这种结构,有没有人这样成功过吗?
      

  4.   

    能不能请高手写一下采用hashtable(key, Arraylist)实现的代码范例,我需要key和Arraylist里面存储的都是对象。谢谢啦
      

  5.   

    可以简单的做个hashtable1.put(key, hashtable2),在hashtable2里面可以用Integer(i)作key,有多少放多少,取的时候根据个数来。
      

  6.   

    给出一个简单的代码,水平很差,欢迎p我,哈哈!
    package com.vagrant.studyclass;import java.util.ArrayList;
    import java.util.Hashtable;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;public class Test { /**
     * @param args
     */
    public static void main(String[] args) throws Exception{

    String key = "key";

    Hashtable h = new Hashtable();
    Hashtable hh = new Hashtable();
    hh.put(new Integer(1), "hao1");
    hh.put(new Integer(2), "hao2");
    hh.put(new Integer(3), "hao3");
    hh.put(new Integer(4), "hao4");

    h.put(key, hh);


    Object[] o = getValue((Hashtable) h.get(key));
    for (int i = 0; i < o.length; i++) {
    System.out.println("value-----------" + o[i].toString());
    }
    }


    public static Object[] getValue(Hashtable h) {
    if (h == null) {
    return null;
    }

    List list = new ArrayList();
    Set set = h.keySet();
    for (Iterator it = set.iterator(); it.hasNext();) {
     Integer key = (Integer)it.next();
     list.add(h.get(key));
    }

    Object[] o = new Object[list.size()];
    list.toArray(o);
    return o;
    }}
      

  7.   

    用List好像写起来更方便些,可以试试,期待好的方法。
      

  8.   

    晕,多看开源项目吧,BidiMap. common-collection 的东西。
    http://jakarta.apache.org/commons/collections/