首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Hashtable 取值顺序有关问题,何故?

2011-12-13 
Hashtable 取值顺序问题,何故????ConnectionconngetConnection()VectorlistnewVector()try{stmtconn.

Hashtable 取值顺序问题,何故????
Connection   conn=getConnection();
        Vector   list=new   Vector();
        try
        {
              stmt=conn.createStatement();
              ResultSet   rs=stmt.executeQuery( "select   sortID,sortName,child_sort_id,child_sort_name ");
              while(rs.next()   )
              {
                    Hashtable   ht=new   Hashtable();
                    int   field   =rs.getInt(1);
                    String   value=rs.getString(2);
                    ht.put(field,value);
                    list.add(ht);
              }
                           
        }catch(SQLException   e)
        {}

在数据库里查询的结果为:
sortID   sortName   child_sort_id     child_sort_name


但经过以上程序后,取得的值为:
sortID   child_sort_name   child_sort_id       sortName


sortName   和   child_sort_name     的位置交换了,这是怎么回来呢??

如果只有两列的话就正常了

[解决办法]
把Hashtable ht=new Hashtable();
改成 Map ht = new LinkedHashMap();就可以了

另外,建议你以后不要使用HashTable了

[解决办法]
hashtable 已经不建议使用了,另外,他是并发的,效率低下。

热点排行