亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于Java使用Map集合

標簽:
Java

问题:关于Java使用Map集合,如何在key值相同但是value值不同的条件下,

往list中存入这些数据呢?这是自己在JDBC连接数据库时,遇到的一个问题.

比如下面的代码:

.........//这些代码省略掉了,也可以自己写个小测试类
List list = new ArrayList();
Map map = new HashMap();
 .......//
while (rs.next()) {
    username = rs.getString("username");
    createTime = rs.getTimestamp("createTime");
    title = rs.getString("title");
    content = rs.getString("content");
    System.out.println(username + " " + createTime + " " + " "
    + title + " " + content);
    map.put("username", rs.getString("username"));
    map.put("createTime", rs.getTimestamp("createTime"));
    map.put("title", rs.getString("title"));
    map.put("content", rs.getString("content"));
    list.add(map);
}

于是我一直这么做,后来发现,查出来的值,都是最后存入的,上网查了一下,

说是map集合的特性,key值相同,后面的数据会覆盖前面的数据。

那怎么办呢?

Java有没有什么方法或者特性呢?

当然了,给出代码:

List list = new ArrayList();
Map map = null;    //注意这里 

try {
    con = JDBCUtil.getConnection();
    String sql = "SELECT  u.username,m.title,m.content,m.createTime" +
            " FROM user AS u" +
            " INNER JOIN message AS m" +
            " ON u.id=m.userId" +
            " ORDER BY createTime DESC";
    pstmt = con.prepareStatement(sql);
    rs = pstmt.executeQuery();
    while (rs.next()) {
        map = new HashMap();  //注意这里
        username = rs.getString("username");
        createTime = rs.getTimestamp("createTime");
        title = rs.getString("title");
        content = rs.getString("content");
        System.out.println(username + " " + createTime + " " + " "
        + title + " " + content);
        map.put("username", rs.getString("username"));
        map.put("createTime", rs.getTimestamp("createTime"));
        map.put("title", rs.getString("title"));
        map.put("content", rs.getString("content"));
        list.add(map);
    }

请留意:“//注意这里”

  1. 也就是我每次存的时候,再对map给new  HashMap(),一下。至于原理么

哈哈哈,那要自己动一下大脑了。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
9
獲贊與收藏
3

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消