2016-03-29 5 views
-2

ResultSetの出力をJava HashMapに渡そうとしています。HashMapのResultSet

Map<Integer, String> sIDpNumberHashMap = new HashMap<Integer, String>(); 

while (DBresult.next()) { 
    int sID = DBresult.getInt("slrid");   
    String pNumber = DBresult.getString("pNumber"); 
    sIDpNumberHashMap.put(sID , pNumber); 
    System.out.println("Output1"+ sID + "\t" + pNumber + "\n"); 
} 
System.out.println("Output2" + "\n" + sIDpNumberHashMap); 

Output1が(DBからの)すべてのレコードを表示している間。どのように私はResultSetからの結果を反復処理するputコマンドを作るのですか

{502332262=117E3640G025} 

putコマンドのみでのResultSetからの最後の値をとる

出力1:出力2

502332262 101E2571G103 
502332262 101E2571G103 
502332262 116E3139P001 
502332262 117E3640G025 
502332262 314B7159G003 
502332262 117E3640G025 

答えて

4

すべてのIDが同一(502332262)で、HashMapは重複キーを許可していません。そのため、HashMapには1つのエントリしか表示されません(最後の値はMapです)。

重複を許可する場合は、データを保持する別のコレクションを検討してください。たとえば、ArrayList<SomeClass>を使用できます。SomeClassには、DBから読み取った2つのプロパティが含まれています。