arraylist面试题及答案_第1页
arraylist面试题及答案_第2页
arraylist面试题及答案_第3页
arraylist面试题及答案_第4页
arraylist面试题及答案_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

arraylist面试题及答案

单项选择题(每题2分,共10题)1.ArrayList底层数据结构是?A.数组B.链表C.哈希表D.树答案:A2.ArrayList初始化容量是?A.0B.10C.1D.5答案:B3.以下能获取ArrayList元素个数的方法是?A.size()B.length()C.getSize()D.count()答案:A4.ArrayList中添加元素的方法是?A.add()B.insert()C.put()D.set()答案:A5.ArrayList中删除指定位置元素的方法是?A.remove(intindex)B.delete(intindex)C.clear(intindex)D.erase(intindex)答案:A6.若要将ArrayList转为数组,用什么方法?A.toArray()B.asArray()C.getArray()D.convertArray()答案:A7.ArrayList中判断是否包含某个元素的方法是?A.contains()B.has()C.include()D.exist()答案:A8.ArrayList在添加元素时,容量不足会怎样?A.抛出异常B.自动扩容C.无法添加D.容量不变答案:B9.从ArrayList中获取指定位置元素的方法是?A.get(intindex)B.fetch(intindex)C.pick(intindex)D.take(intindex)答案:A10.ArrayList中清除所有元素的方法是?A.clear()B.empty()C.clean()D.removeAll()答案:A多项选择题(每题2分,共10题)1.以下关于ArrayList说法正确的是()A.有序B.可重复C.线程安全D.允许null值答案:ABD2.ArrayList扩容机制涉及的因素有()A.原容量B.新元素个数C.负载因子D.初始容量答案:AB3.下列哪些操作会改变ArrayList的大小()A.add()B.remove()C.set()D.get()答案:AB4.ArrayList支持的遍历方式有()A.for循环B.foreachC.IteratorD.ListIterator答案:ABCD5.以下能创建ArrayList对象的方式有()A.newArrayList<>()B.newArrayList<>(10)C.newArrayList<>(Collectionc)D.newArrayList<String>()答案:ABCD6.ArrayList与数组相比,优势在于()A.动态扩容B.方便增删C.内存连续D.类型安全答案:AB7.若要对ArrayList排序,可以使用()A.Collections.sort()B.Arrays.sort()C.list.sort()D.自身排序方法答案:AC8.以下哪些方法可以在ArrayList中查找元素()A.indexOf()B.lastIndexOf()C.contains()D.search()答案:ABC9.ArrayList中元素存储的特点有()A.顺序存储B.随机访问C.链式存储D.哈希存储答案:AB10.关于ArrayList迭代器,说法正确的是()A.可以遍历B.可以删除元素C.可以修改元素D.可以添加元素答案:ABC判断题(每题2分,共10题)1.ArrayList是线程安全的集合类。()答案:错误2.ArrayList中元素存储是无序的。()答案:错误3.当ArrayList容量满时,添加元素会导致程序崩溃。()答案:错误4.可以通过索引直接访问ArrayList中的元素。()答案:正确5.ArrayList不允许存储null值。()答案:错误6.调用ArrayList的clear()方法后,容量变为0。()答案:错误7.用Iterator遍历ArrayList时,不能同时调用ArrayList的增删方法。()答案:正确8.ArrayList初始化容量一旦确定就不能改变。()答案:错误9.ArrayList中元素类型必须一致。()答案:错误10.ArrayList的addAll()方法可以将另一个集合所有元素添加进来。()答案:正确简答题(每题5分,共4题)1.简述ArrayList扩容机制答案:当ArrayList元素个数达到容量时,会自动扩容。新容量一般是原容量的1.5倍,会创建新数组,将原数组元素复制到新数组。2.说明ArrayList和Vector的区别答案:ArrayList非线程安全,扩容为原容量1.5倍;Vector线程安全,扩容默认是原容量2倍。性能上ArrayList一般优于Vector。3.ArrayList中remove()方法有哪些重载形式及作用?答案:有remove(intindex),用于删除指定位置元素;remove(Objecto),用于删除第一个匹配的元素,返回是否删除成功。4.如何将ArrayList中的元素逆序?答案:可以使用Collections.reverse()方法,传入要逆序的ArrayList,即可实现元素逆序排列。讨论题(每题5分,共4题)1.在多线程环境下使用ArrayList可能会出现什么问题,如何解决?答案:多线程下使用ArrayList可能出现数据不一致、ConcurrentModificationException等问题。可使用Vector,或用Collections.synchronizedList将ArrayList包装成线程安全的。2.对比ArrayList和LinkedList,在什么场景下选择ArrayList?答案:当需要频繁随机访问元素,对增删操作要求不高时选ArrayList。如数据查询多、修改少的场景,因其基于数组,随机访问快。3.如何优化ArrayList的性能?答案:可在创建时预估合适容量减少扩容次数;避免不必要的插入删除操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论