现在春招招聘热火进行中,无论你是找工作还是打算跳槽的程序,数据结构这是面试官必问的一个题目,面试真的太重要了,本人通过最近面试遇到的问题,今天整理常见的Java集合面试题以及答案分享给大家。
Java集合常见面试题:
1,数组和集合有什么区别?
答:数组是固定的长度,存储的基本数据类型是引用数据类型,存储的元素必须是同数据类型的;集合的长度是可以变,只能存储引用数据类型,存储发对象可以是不同数据类型。
2,collection接口的子接口有哪几个?
答:set接口和list接口。
3,set接口的实现类主要有哪些?
答:主要有HashSet、TreeSet、LinkedHash三个常用的实现类。
4,List接口实现类主要有哪些呢?
答:主要有ArrayList、LinkedList、vector,其中vector老以前的。
5,Map接口的实现类有?
答:主要有三个常用的HashMap、TreeMap、LinkedHashMap接口,这三个接口和set接口有点相似,但是它们的区别是Map存储的是键值对。而set存储的是单个元素。
6,迭代器Iterator是什么呢?
答:Iterator接口提供遍历任何collection的接口的,特点只能单向遍历,但是很安全,它可以保证在当前遍历的集合被更新的时候,就会抛concurrenModificationException异常的。
7,如何对Obiect的list排序?
答:对于object数组进行排序,可以使用Arrays.sort()方法的,如果我们要对object的集合进行排序,我们需要的是使用collections.sort()方法的。
8,你是如何保证一个集合线程安全的呢?
答:对于安全问题vector、hashtable、properties、stack它们都是同步的类的,之所以它们的线程都是安全,当然了可以被使用在多线程环境中,然后就是当我们使用collections.synchronizedList(list)方法时,也可以保证list类的线程安全问题的。
9,你知道Iterator符合哪个设计模式?
答:是Iterator设计模式的。
10,你是否知道Hashset实现了哪个数据结构呢?
答:其实hashset内部是实现了HashMap的。
11,你可以说一下array和arraylist的区别吗?
答:array的大小是固定的,和object有点类似,然而arraylist它是同质和异质元素的集合的。
12,你了解什么是死锁吗?
答:死锁是当两个线程都在等待对方执行完毕才能执行的时候就会发生死锁的,产生死锁最终两个线程都会陷入了一个无线的等待中。
13,你知道ArrayList的优点是什么吗?
答:查询的速度快。
14,请问HashMap和HashSet的区别是什么呢?
答:hashmap是使用的是唯一键获取对象的,hashmap相对于hashset比较快一些;hashmap存储是键值对,而ahshset存储是对象。
如果上述有哪里有答得不够好的,记得在评论区留言一起交流,从事大数据开发以及Java后端开发,如有什么问题欢迎留言。
Copyright (C) 1999-20120 www.ahcar.com, All Rights Reserved
版权所有 环球快报网 | 联系我们:265 073 543 9@qq.com