Bet*_*ish -2 java jdbc resultset hashmap
我试图将a的输出传递ResultSet给Java HashMap.
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);
Run Code Online (Sandbox Code Playgroud)
而Output1显示所有记录(来自数据库).该put命令仅从ResultSet中获取最后一个值.
输出1:
502332262 101E2571G103
502332262 101E2571G103
502332262 116E3139P001
502332262 117E3640G025
502332262 314B7159G003
502332262 117E3640G025
Run Code Online (Sandbox Code Playgroud)
输出2:
{502332262=117E3640G025}
Run Code Online (Sandbox Code Playgroud)
如何使put命令迭代结果ResultSet?
您的所有ID都相同(502332262),并且HashMap不允许重复的密钥.这就是你只看到一个条目HashMap(包含你输入的最后一个值Map)的原因.
如果要允许重复项,请考虑使用其他集合来保存数据.例如,您可以使用包含从DB读取的两个属性的ArrayList<SomeClass>where SomeClass.
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |