Java集合常见的面试题
首先我们要想更快的去了解和认识Java集合的话,我们可以通过一张思维导图去认识一下Java集合的框架。
其次你们也可以看我自己写的关于Java集合面试问题和解决方案。
1,collection是Java.util包下的接口类,它继承了Iterable接口,实现Iterable接口的类可以增强for循环,Iterable接口必须提供一个名为Iterator()的方法,该方法返回值为Iterator.
collection接口有哪些方法列表?
有size():,isEmpty():,contains(Object):,clear():,add(E):,remove(Object):,Itertor():
2,conllection继承List,Set,Queue,
①List的特点:有序,可以添加重复的元素
ArrayList的优点:查询速度快
LinkedList的优点:增删改速度快
②Set的特点:无序,不保存重复的元素
HashSet:速度快,无序,集合元素为null
TreeSet:有序(升序)
LinkedList:有序(按顺序)
④Queue的特点:先进先出
如图所示:
3,Collection接口的remove()方法和Iterator接口的remove()的方法区别?
①性能方面
collection的remove方法必须先找出被删除的项,效率低,Iterator的remove方法结合next()方法使用,效率高
②容错方面
在Iterator遍历时,要是使用Collection的remove就会报异常,要想不报错那Iterator内部的对象个数和原来的集合中对象的个数会保持一致。
4,HashMap和HashSet的区别
5,HashMap的实现原理
主要记住Bucket
6,List,Set,Map之间的区别
list和set都继承Collection,但是map不是Collection的子接口