網路城邦
上一篇 回創作列表 下一篇   字體:
[JAVA] Vector & HashMap 小問題
2010/08/13 15:19:54瀏覽666|回應0|推薦0
Vector
HashMap

相信有些人會利用這兩個物件來模擬 資料庫物件 ResultSet

這邊有個問題 code:

    Vector vt = new Vector();
    HashMap hm = new HashMap();
    int cnt = 0;
 
    hm.put( "name", "A" );
    vt.add( hm );   

    hm.put( "name", "B" );
    vt.add( hm );

   for( cnt=0; cnt
          System.out.println( ((HashMap)vt.get(cnt)).get("name").toString() );
    }
   
   
    ---------------------輸出結果(OUTPUT)-------------------

    B
    B

    --------------------------------------------------------

原本目的是希望 vt 裡存放的是
    key    value
    name    A
    name    B
但以上結果卻是
    key    value
    name    B
    name    B   
究竟是什麼原因會造成這種情況,物件? 傳址? 還是? 目前在腦中還是一片混亂
姑且先用物件概念修改 code 如下以符合需求:

    Vector vt = new Vector();
    HashMap hm1 = new HashMap();
    HashMap hm2 = new HashMap();
    int cnt = 0;
 
    hm1.put( "name", "A" );
    vt.add( hm1 );   

    hm2.put( "name", "B" );
    vt.add( hm2 );

    for( cnt=0; cnt
         
System.out.println( ((HashMap)vt.get(cnt)).get("name").toString() );
    }
   
   
    ---------------------輸出結果(OUTPUT)-------------------

    A
    B

    --------------------------------------------------------

不知是否有更簡便的方法呢?
究竟真正原因為何?
( 知識學習語言 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=Tyue&aid=4317306