一个关键字对应一个对象数据,可以构建一个简单的两列的表,至于你怎么使用,但就要看具体应用了。我这里有个例子,其中的Hashtable对象data用于保存对象及其个数,对象为关键字,对象个数为数据值。(申明:这个类存在BUG!)
  public class Counter{    private Hashtable data = new Hashtable();
    private HashSet maxObject = new HashSet();
    private int maxCount;    public boolean contains(Object object){
      return data.containsKey(object);
    }    public void add(Object object){
      int count = 0;
      if (contains(object)){
        count = count(object);
      }
      data.put(object,new Integer(++count));
      if (maxCount<=count){
        if (maxCount<count) maxObject.clear();
        maxObject.add(object);
        maxCount = count;
      }
    }    public int count(Object object){
      return ((Integer)data.get(object)).intValue();
    }    public void clear(){
      data.clear();
      maxObject.clear();
      maxCount = 0;
    }    public Object[] maxObject(){
      return maxObject.toArray();
    }    public int maxCount(){
      return maxCount;
    }    public String toString(){
      Enumeration keys = data.keys();
      Enumeration values = data.elements();
      String res = "";
      while(keys.hasMoreElements()){
        res += keys.nextElement().toString()+"="+values.nextElement().toString()+",";
      }
      res += "maxObject=[";
      Iterator maxKeys = maxObject.iterator();
      while(maxKeys.hasNext()) res+=maxKeys.next().toString()+",";
      if (res.indexOf(",")>-1)
        res = res.substring(0,res.length()-1);
      res += "],maxCount="+maxCount;
      return res.toString();
    }  }