专业技术帖Java面试常见问题及答案.docx

上传人:xt****7 文档编号:125130961 上传时间:2020-03-15 格式:DOCX 页数:3 大小:60.33KB
返回 下载 相关 举报
专业技术帖Java面试常见问题及答案.docx_第1页
第1页 / 共3页
专业技术帖Java面试常见问题及答案.docx_第2页
第2页 / 共3页
专业技术帖Java面试常见问题及答案.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《专业技术帖Java面试常见问题及答案.docx》由会员分享,可在线阅读,更多相关《专业技术帖Java面试常见问题及答案.docx(3页珍藏版)》请在金锄头文库上搜索。

1、专业技术帖!Java程序员面试的常见问题及答案DuangDuangDuang,马上就要面试了对不对,很担心面试官会问什么对不对,不要担心,今天小华君就给大家整理一下咱们Java程序员在面试的时候经常会碰到的问题。Java集合框架是Java变成语言的基础,自然也是Java程序员面试过程中的一个重点内容,下边我们就来说一下有关Java集合的常见问题以及答案。1. 什么是Java集合API? Java集合API是用来表示和操作集合的统一框架,包括接口、实现类以及帮助程序员完成一些编程的算法。2. Java集合框架的接口有哪些?具体来说,Java集合框架有6个集合接口,最基本的是Collection接

2、口,由三个接口Set、List、SortedSet继承,另外两个接口是Map、SortedMap,这两个接口不继承Collection,表示映射而不是真正的集合。 Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合。 List是一个有序集合,可以包含重复元素。可以通过它的索引来访问任何元素,更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key。3. Iterator是什么? Iterato

3、r接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。4. Iterator和Listlterator的区别是什么?(1)Iterator可以遍历Set和List集合,而ListIterator只能遍历List。(2)Iterator只可以向前遍历,而LIstIterator可以双向遍历。(3)ListIterator从Iterator接口继承,然后添加了一些额外的功能,比如添加一个元素、替换一个元素、获取前面或后面元素的索引位置。5. 对比

4、HashMap和HashTable。 两者都是用key-value方式获取数据。Hashtable是原始集合类之一(也称作遗留类)。HashMap作为新集合框架的一部分在Java2的1.2版本中加入。它们之间有以下区别:(1) HashMap允许key和value为null,而HashTable不允许。(2)HashTable是同步的,而HashMap不是。所以HashMap适合单线程环境,HashTable适合多线程环境。(3)HashMap提供对key的Set进行遍历,因此它是fail-fast的,但HashTable提供对key的Enumeration进行遍历,它不支持fail-fast

5、。(4)HashTable被认为是个遗留的类,如果寻求在迭代的时候修改Map,应使用CocurrentHashMap。6. 如何决定选用HashMap还是TreeMap? 对于在Map中插入、删除和定位元素这类操作,HashMap是最好的选择。然而,假如你需要对一个有序的key集合进行遍历,TreeMap是更好的选择。基于你的collection的大小,也许向HashMap中添加元素会更快,将map换为TreeMap进行有序key的遍历。7. 在HashTable中上下文同步是什么意思? 同步意味着在一个时间点只能有一个线程可以修改哈希表,任何线程在执行hashtable的更新操作前需要获取对

6、象锁,其他线程等待锁的释放。8. 哪些集合类提供对元素的随机访问? ArrayList、HashMap、TreeMap和HashTable类提供对元素的随机访问。9. Comparable和Comparator接口的区别是什么? Comparable和Comparator接口被用来对对象集合或者数组进行排序。Comparable接口被用来提供对象的自然排序,我们可以使用它来提供基于单个逻辑的排序。Comparator接口被用来提供不同的排序算法,我们可以选择需要使用的Comparator来对给定的对象集合进行排序。10. 与Java集合框架相关的有哪些最好的实践?(1)根据需要选择正确的集合类

7、型。比如,如果指定了大小,选用Array而非ArrayList。如果想根据插入顺序遍历一个Map,需要使用TreeMap。如果不想重复,应使用Set。(2)一些集合类允许指定初始容量,所以如果能够估计到存储元素的数量,可以使用它,就避免了大小调整。(3)基于接口编程,而非基于实现编程,它允许后来轻易地改变实现。(4)总是使用类型安全的泛型,避免在运行时出现ClassCastException。(5)使用JDK提供的不可变类作为Map的key,可以避免实现hashCode()和equals()。(6)尽可能使用Collections工具类,或者获取只读、同步或空的集合,而非编写自己的实现。它将会提供代码重用性,它有着更好的稳定性和可维护性。 好了,先整理到这里吧,小华君以后会陆续帮大家整理的。也欢迎大家评论补充。来源:网络资料整理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号