常见面试题六之java系列(2)

时间:2024-08-16 14:01:16 学人智库 我要投稿
  • 相关推荐

常见面试题六之java系列(2)

  Collection:代表一组对象,每一个对象都是它的子元素。

常见面试题六之java系列(2)

  Set:不包含重复元素的Collection。

  List:有顺序的collection,并且可以包含重复元素。

  Map:可以把键(key)映射到值(value)的对象,键不能重复。

  HashMap和Hashtable有什么区别?

  HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点:

  HashMap允许键和值是null,而Hashtable不允许键或者值是null。

  Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。

  HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。另一方面,Hashtable提供了对键的列举(Enumeration)。

  一般认为Hashtable是一个遗留的类。

  ArrayList和LinkedList有什么区别?

  ArrayList和LinkedList都实现了List接口,他们有以下的不同点:

  ArrayList是基于索引的数据接口,它的底层是数组。它可以以O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList是以元素列表的形式存储它的数据,每一个元素都和它的前一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是O(n)。

  相对于ArrayList,LinkedList的插入,添加,删除操作速度更快,因为当元素被添加到集合任意位置的时候,不需要像数组那样重新计算大小或者是更新索引。

  LinkedList比ArrayList更占内存,因为LinkedList为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。

  好了,今天我们就先解释和总结这5个问题吧,接下来我会再发一篇关于java中非常重要的一些问题的文章,敬请期待。

http://www.unjs.com/

【常见面试题六之java系列(2)】相关文章:

java面试题及答案10-03

10个经典的Java面试题集合09-20

名校英语面试经典常见的面试题10-21

经典常见面试题分析解答08-14

考研复试之英语面试题目07-24

德国公司经典面试题(2)07-10

人力资源行业常见面试题汇总08-20

十二生肖系列故事之鼠牛05-20

常见的工伤纠纷知识(2)10-26

高考数学复习之六大答题技巧(2)09-13