java经典面试题及答案,java面试常见题

  java经典面试题及答案,java面试常见题

  一、什么是数组?什么是链表?

  (相关面试问题推荐:java面试问题)

  数组就像是被编号站成一排的人。很容易找到第10个人,根据人数可以很快找到。然而,插入和删除是缓慢的。当你想在某个位置插入或删除一个人时,你后面的人的号码必须改变。当然,加入或者删除的人永远是最后一个。

  链表是前一个元素的引用指向下一个元素的存储结构,链表通过指针连接元素与元素;

  链表就像一个人手拉手站成一个圈。找到第10个人不容易。你必须通过第一个人的号码。但是插入和删除很快。插入时,只需解开两个人的手,重新握住新加的人的手。删除同样的原因。

  在Java中,ArrayList和LinkedList分别由数组和链表在内部实现。

  二、数组和链表有什么区别

  不同:链表是链式存储结构;数组是一种顺序存储结构。

  链表是用来连接元素与元素的,而数组是按顺序存储所有元素的。

  (相关教程推荐:java入门教程)

  相比数组,在链表中插入和删除元素更简单,不需要移动元素,更容易实现长度扩展,但是找到一个元素比较困难。

  在数组中查找元素很简单,但是插入和删除却很复杂。因为最大长度需要在重编程开始时指定,当达到最大长度时,就没有链表那样方便扩展长度了。

  相同:两种结构都可以实现数据的顺序存储,构造的模型是线性的。

  三、java集合和数组的特点

  数组特性:固定大小,只能存储相同数据类型的数据。

  集合特性:大小可以动态扩展,可以存储各种类型的数据。

  (相关视频教程推荐:java视频教程)

  四、LinkedList底层实现方式

  LinkedList是通过双向链表实现的。由于是用链表实现的,所以随机访问效率比ArrayList低,顺序访问效率更高。每个节点都有一个前任(指向前一个节点的指针)和一个继任者(指向后一个节点的指针)。效果如下:

  如何解决写爬虫IP受阻的问题?立即使用。

  1.使用for适用于循环ArrayLIst和array,大量循环LinkedList循环时程序会卡死。For适用于循环数组结构,由下标遍历。

  2.使用foreach适合循环LinkedList,使用双向链表结构应该使用foreach循环。以上是java经典面试题集(六)的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: