私はハッシュマップを持っています。そこには、人が所有する名前で車のリストを保存しています。
Map<String,List<String>> personCarMap = new HashMap<String,List<String>>();
キーは個人ID、値は車名のリストです。値には、購入日も格納したいと思います。これらはすべてデータベースから取得されています。データベース内の 2 つの異なる列へのキー マップを取得するにはどうすればよいですか?
これは私がこれまでに持っているコードです。
public static JSONObject fetchPersonCarInfo(String person) throws SQLException
{
Map<String,List<String>> personCarMap = new HashMap<String,List<String>>();
JSONObject jObj = new JSONObject();
Connection connection = null;
PreparedStatement statement = null;
ResultSet rs = null;
try {
connection = DriverManager.getConnection("jdbc:myDriver:myDatabase",username,password);
statement = connection.prepareStatement("select personId,car,purchase_date from carz where person = ?");
rs = statement.executeQuery();
while(rs.next()) {
List<String> carIds;
if(personCarMap.containsKey(rs.getString(carId))) {
carIds = personCarMap.get(rs.getString(personId));
} else {
carIds = new ArrayList<String>();
}
carIds.add(rs.getString(carId));
carIds.add(rs.getTimestamp(purchase_date).toString()); //This is where I have a doubt.
personCarMap.put(rs.getString(carId),carIds);
}
for(Map.Entry<String, List<String>> personCarMapEntry:personCarMap.entrySet())
{
jObj.put("personID", personCarMapEntry.getKey());
jObj.put("carID", personCarMapEntry.getValue());
}
} finally{
DatabaseFunctions.closeDBResources(null, statement, rs);
}
return jObj;
}
}
JSON オブジェクトに {personId, [carId,purchasedate]} を表示させたい。JSON配列に購入日も出力させる方法を教えてください。personId と carId の出力は明確に表示されますが、購入日を追加する方法がわかりません。専門家のアドバイスが必要です。