如果我们准备往java这条路发展的话,那你肯定要经历企业面试,面试通过才能进入这个行业,而在面试中,往往都会问我们一些基础知识以及实践项目,那java数据结构面试题有哪些?下面来我们就来给大家讲解一下。
1.JDK 和 JRE 有什么区别?
JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。
JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。
具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,还包含了很多 java 程序调试和分析的工具。简单来说:如果你需要运行 java 程序,只需安装 JRE 就可以了,如果你需要编写 java 程序,需要安装 JDK。
2. 如何实现数组和 List 之间的转换?
List转换成为数组:调用ArrayList的toArray方法。
数组转换成为List:调用Arrays的asList方法。
3.Iterator 怎么使用?有什么特点?
Java中的Iterator功能比较简单,并且只能单向移动:
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,公共基类Collection提供iterator()方法。
(2) 使用next()获得序列中的下一个元素。
(3) 使用hasNext()检查序列中是否还有元素。
(4) 使用remove()将迭代器新返回的元素删除。
Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从List中插入和删除元素。
4..Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?
Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。
5.红黑树是什么?
红黑树是一种特殊的平衡二叉树,它保证在最坏情况下基本动态集合操作的事件复杂度为O(log n)。
红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。
6.java有哪几种类型的流?
(1)字节流,最小传输单位为1个字节(byte),字符流最小单位为一个字符。
(2)InputStream : 输入字节流, 也就是说它既属于输入流, 也属于字节流。
(3)OutputStream: 输出字节流, 既属于输出流, 也属于字节流。
(4)Reader: 输入字符流, 既属于输入流, 又属于字符流。
(5)Writer: 输出字符流, 既属于输出流, 又属于字符流。
这些常见的数据结构面试题都是在面试中经常问到的,如果我们能够掌握好这些,就可以大大提高面试通过率!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: