常见面试题之一

来源:互联网 发布:spark入门书籍推荐知乎 编辑:程序博客网 时间:2024/04/28 22:15
1.ArrayList与LinkedList的区别?
ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦
LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引  但是缺点就是查找非常麻烦 要丛第一个索引开始
2.get与post的区别?
  get 从服务器获取数据 安全性低 传送数据量小  查找用get
  post向服务器传送数据 安全性高 数据量大      增删改用post
3.jsp九大内置对象?
4.序列化与反序列化?
序列化将数据分解成字节流,以便存储在文件中或在网络上传输。
反序列化就是打开字节流并重构对象
5.重写equals与hashcode?
Set集合是不能包含重复元素的。要判断add的对象是否是重复的元素是用hashCode()方法判断的。
hashCode()与equals()方法是Object类的方法,Object类的hashCode()方法的返回值以整数形式表示一个对象的地址,
即当调用HashSet的add()时,将a的hashCode值与已有元素的hashCode值进行比较,如果不同则直接加进去,如果hashCode值相同则接着调用equals方法比较。
如果不重写这两个方法,会直接比较两个对象的地址。一般情况下都会希望以内容来判断时候能加进去(即add)。
比如当
People a = new People("zhangsan");
People b = new People("zhangsan");
set.add(a);
set.add(b);
这个时候,如果不重写hashCode方法的话,a和b两个对象都可以加进去的
而我们希望的是以name来判断是否能加进去,这个时候就需要重写hashCode方法来实现这个功能了

0 0
原创粉丝点击