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是封装出来的对象。