jdbc后,把对象封装在集合中之add和put的区别

add()方法和Put()方法的差别

1、add()和put()方法都是集合框架中的添加元素的方法。

但是put()方法应用于map集合中,add()方法应用于collection集合中。

2、二者的主要区别是:返回值类型不一样。

(1)add()放回布尔(boolean)类型。因为像Set集合中不允许添加重复的元素。当HashSet调用add()方法时,如果返回false,表示添加不成功。

(2)put()的使用是:添加时出现相同的键,那么后添加的值会替换(覆盖)掉此键对应的原来的值。并返回此键对应的原来的值。

样例:

@WebServlet("/jjlist")
public class JjList extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public JjList() {
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);

        String json = null;
        Connection conn = null;
        PreparedStatement pstmt = null;
        ResultSet rs = null;
        try {
            //1、去数据库查询
            conn = MyJDBCUtil.getConnection();
            String sql = "select * from tb_jz";
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();

            //2、封装成装着多个jz对象的集合
            ArrayList<Jj> jjs = new ArrayList<Jj>();
            while (rs.next()){
                //System.out.println(rs.getString("jzid"));
                Jj jj = new Jj();
                //封装对象
                jj.setJzid(rs.getString("jzid"));
                jj.setJzname(rs.getString("jzname"));
                jj.setAge(rs.getInt("age"));

                //把图片的字符串编成字符串数组
                String imgs = rs.getString("jzimgs");
                String[] jzimgs = imgs.split(",");
                jj.setJzimgs(jzimgs);

                jj.setEdu(rs.getString("edu"));
                jj.setHome(rs.getString("home"));
                jj.setJob(rs.getString("job"));
                jj.setJob_time(rs.getInt("job_time"));
                jj.setSalary(rs.getBigDecimal("salary"));

                //将对象添加到集合中
                jjs.add(jj);
            }

            //3、转换成json字符串
            Gson gson = new Gson();
            json = gson.toJson(jjs);
            
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                MyJDBCUtil.releaseResource(conn,pstmt,rs);
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

        //4、数据响应给前端
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("application/json");
        resp.getWriter().write(json);
        System.out.println(json);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);
    }
}

后来发现,是
ArrayList<Jj> jjs = new ArrayList();
new 出来一个泛型
//将对象添加到集合中
jjs.add(jj);

jj是封装出来的对象。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值