欢迎来到天天文库
浏览记录
ID:61511444
大小:226.00 KB
页数:50页
时间:2021-02-08
《笔试题面试题集合.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Java基础方面:1.作用域public,protected,private,以及不写时的区别作用域 当前类 同一package 子孙类 其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private
2、 √ × × × 不写时默认为friendly2.collection和mapCollection和Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还是equals()?它们有何区别?答:Set里的元素是不能重复的,那么用iterator()方法来
3、区分重复与否。equals()是判断两个Set是否相等,equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值List,Set,Map是否继承自Collection接口答:List,Set是,Map不是ArrayList和Vector的区别,HashMap和Hashtable的区别 答:就ArrayList与Vector主要从二方面来说: 1、同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的 2、数据增长:当需要增长
4、时,Vector默认增长为原来一倍,而ArrayList却是原来的一半 就HashMap与HashTable主要从三方面来说: 1、历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java1.2引进的Map接口的一个实现 2、同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的 3、值:只有HashMap可以让你将空值作为一个表的条目的key或value介绍JAVA中的CollectionFrameWork(包括如何写自己的数据结构)?答:CollectionF
5、rameWork如下: Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射说出ArrayList,Vector,LinkedList的存储性能和特性 答:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于
6、实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。HashMap和Hashtable的区别 答:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)
7、键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Mapinterface的一个实现。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个
8、线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同
此文档下载收益归作者所有