java常见面试题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java常见面试题相关的知识,希望对你有一定的参考价值。
1.java集合类
Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
LinkedList实现了List接口,允许null元素。由于linkedlist底层是基于双向链表实现的,所以LinkedList查询效率不高,但是删除和插入效率略高。线程不安全的
ArrayList实现了List接口,允许null元素。底层基于数组实现,默认长度为10,可自动扩容,扩容大小为原来的 1/2。查询速度快,插入和删除效率低。线程不安全的
Vector非常类似ArrayList,但是Vector是线程安全的。
Stack继承自Vector 是一个后进先出的栈。
Set是一种不包含重复的元素的Collection
Map没有继承Collection接口,map提供一个key到value的映射。map的key不能重复,每个key只能映射一个value。
Hashtable继承Map接口,实现一个key-value映射的哈希表。任何非空(non-null)的对象都可作为key或者value。同步的。
HashMap和Hashtable类似,不同之处在于HashMap是非同步的,并且允许null,即null value和null key。在JDK1.8之前HashMap是基于数据+链表实现的,1.8修改为数据+链表+红黑树。
以上是关于java常见面试题的主要内容,如果未能解决你的问题,请参考以下文章