0

私は次のコードを持っています:

    ResultSet rs = DB.doQuery("SELECT username,register_ip FROM users ORDER BY joined DESC LIMIT 10");
    Map<String,String> botInfo = new HashMap<String, String>();
    List<Map<String , String>> myMap  = new ArrayList<Map<String,String>>();
    int c = 0;

    while(rs.next()) {
        botInfo.put("username", rs.getString("username"));
        botInfo.put("register_ip", rs.getString("register_ip"));
        myMap.add(c, botInfo);
        c++;
    }

アイデアは、出力を次のようにすることです。例としてPHPを使用します。

[0] => array('username' => 'someUsername', 'register_ip' => 'someIP');

などなど..しかし、私が取得するのは、すべて同じユーザー名、register_ip値を含む10個のHashMapのリストです。私のオプションは何ですか?

4

4 に答える 4

0

これを試してください:

ResultSet rs = DB.doQuery("SELECT username,register_ip FROM users ORDER BY joined DESC LIMIT 10");
Map<String,String> botInfo;
List<Map<String , String>> myMap  = new ArrayList<Map<String,String>>();
String[] columns = {"username", "register_ip"};

while(rs.next()) {
    botInfo = new HashMap<String, String>();
    for(int i = 0; i < columns.length; i++) {
        botInfo.put(columns[i], rs.getString(columns[i]));
    }
    myMap.add(botInfo);
}
于 2012-09-10T06:28:47.517 に答える