把Map map = new HashMap();//存放数据的map 
放在while循环体里!

解决方案 »

  1.   

    java只有值传递
     Map map = new HashMap();//存放数据的map
    list.add(map) list里面存放的是map对应的地址在这步
    map.put("ID", rs.getInt("id"));
                    map.put("TITLE", rs.getString("title"));
                    map.put("IMGPATH",rs.getString("imgpath"));
                    map.put("VIDEOPATH",rs.getString("videopath"));
                    map.put("UPLOADTIME",rs.getString("uploadtime"));
                    map.put("UPLOADUSER", rs.getString("uploaduser"));
    你只是改变了map的内容,未改变map的地址。但是从来也就只有一个map
    所有到最后添加到list中的map其实都是一样的把Map map = new HashMap();放到while循环中,相当于每次遍历的时候都生成了一个新的HashMap,自然也就不同了。