1、Collection和Collections
Collection是一个接口,它提供了集合类的通用方法如size()、isEmpty()、toArray()、add(E)之类的方法
Collections是一个集合包装类,提供了一系列有关聚合的静态(static)方法,此方法不能new(因为构造方法是priate的)。
2、ArrayList和LinkedList区别
ArrayList继承了RandomAccess,而LinkedList则是继承的SequenceAccess,RandomAccess和SequenceAccess接口下都没有内容,只是用来标记说明一个是支持随机访问,一个是顺序访问的。
ArrayList内部实现是一个数组Object[] elementData,LinkedLIst则是一个队列。
所以,在add和remove中,LinkedList要比ArrayList要快,但是在get的时候,ArrayList要比LinkedList快得多,因为LinkedList是要遍历整个链表的。
两个都不是线程安全的。
ArrayList的线程安全可以考虑CopyOnWriteArrayList(但是这个是锁住所有数据的private transient volatile Object[] array)
3、Set为啥是不会重复的
Set的实现(如HashSet),内部实际上是放置了一个HashMap<E,Object> map;然后add(e)的时候实际上是用了map.put(e, dummyObjs)来防止重复。
相关推荐
这些题目大部分来自网络,还有就是自己和同学面试时碰到的面试或笔试题目。可能对那些将要找工作或正在找工作的人会有所帮助。问题有些只是提供个粗略的答案,或一个参考答案,有些未必如此,真要做答,每题几乎都...
以上知识点涵盖了Java工程师面试中常见的技术细节,包括但不限于数据库查询优化、网络协议理解、Java集合框架的理解以及Web开发中Servlet的基本概念等。对于准备参加Java工程师面试的人来说,深入理解这些知识点是...
java工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx ...
java工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx ...
【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..
Servlet的创建过程有两种方式:一是在客户端请求对应的Servlet时创建,二是在web.xml中设置load-on-startup来创建Servlet实例。Servlet的生命周期包括创建、初始化、服务、销毁四个阶段。 5. 用SQL语句分页 在...
【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..
1. **List**: 有序集合,允许重复元素。 2. **Set**: 不允许重复元素,内部排序。 3. **Map**: 存储键值对,键不允许重复,值可以重复。 #### 七、final、finally、finalize的区别 1. **final**: 用于声明不可变的...
异常表达程序运营过程中也许出现的非正常状态,运营时异常表达虚拟机的通常操作中也许碰到的异常,是一种常见运营错误。Java编译器规定方法必须声明抛出也许发生的非运营时异常,但是并不规定必须声明抛出未被捕获的...
在C语言中,结构体仅仅是一个数据的集合,没有成员函数。而在C++中,`struct`和`class`非常相似,主要区别在于`struct`的成员默认为公有的(public),而`class`的成员默认为私有的(private)。此外,C++中的`...
在Java学习过程中,我们会遇到各种问题,而"Learning-notes-java:java学习过程中碰到的到一些问题以及面试经历"这个资源正是一份集中的记录。它不仅包含了基础到高级的Java编程概念,还分享了作者在面试过程中的经验...
以下是总结java面试中常见的知识点以及碰到的坑等,经历有限,需待练级! 一、java基础 实例方法和静态方法有什么不一样? Java中的异常有哪几类?分别怎么使用? 常用的集合类有哪些?比如List如何排序? ArrayList...