本帖最后由 nullbertauhala 于 2010-01-20 15:43:01 编辑

解决方案 »

  1.   

     map.put(colName[i],rs.getString(i));
    colName[i]这个值都是一样的map对于key一样的,没有就会添加,重复添加就会覆盖
      

  2.   

    put
    V put(K key,
          V value)将指定的值与此映射中的指定键相关联(可选操作)。如果此映射中以前包含一个该键的映射关系,则用指定值替换旧值(当且仅当 m.containsKey(k) 返回 true 时,才能说映射 m 包含键 k 的映射关系)。 参数:
    key - 与指定值相关联的键。
    value - 与指定键相关联的值。 
    返回:
    以前与指定键相关联的值,如果没有该键的映射关系,则返回 null。如果该实现支持 null 值,则返回 null 也可表明此映射以前将 null 与指定键相关联。 
      

  3.   

    你没对 colName[i] 进行初始化  使用的是系统默认的数组初始化的值 为 null
    for (int i=1;i<colName.length;i++){
        colName[i] = i;
        map.put(colName[i],rs.getString(i));
        index++;
    }
    其实你的map里面只有1个值存在
    但是key在map里面是不允许重复的。
    如果重复只纯一条  这也是由于key是纯在treeSet中的原因
      

  4.   

    你要注意的是,length 和size是不一样的。length >= size