`
mncc
  • 浏览: 54072 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

最近碰到的面试:集合(一)

    博客分类:
  • java
 
阅读更多

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)来防止重复。

分享到:
评论

相关推荐

    .NET面试资料整理集合

    这些题目大部分来自网络,还有就是自己和同学面试时碰到的面试或笔试题目。可能对那些将要找工作或正在找工作的人会有所帮助。问题有些只是提供个粗略的答案,或一个参考答案,有些未必如此,真要做答,每题几乎都...

    java工程师面试题大全-100%公司笔试题你都能碰到几个

    以上知识点涵盖了Java工程师面试中常见的技术细节,包括但不限于数据库查询优化、网络协议理解、Java集合框架的理解以及Web开发中Servlet的基本概念等。对于准备参加Java工程师面试的人来说,深入理解这些知识点是...

    Java面试笔记 225道Java面试题JAVA面试基础知识点总结Java数据结构题笔试WORD资料汇总(19个).zip

    java工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx ...

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料.zip

    java工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx ...

    java 面试中碰到问题.zip

    【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..

    java工程师面试题大全100%公司笔试题你都能碰到几个

    Servlet的创建过程有两种方式:一是在客户端请求对应的Servlet时创建,二是在web.xml中设置load-on-startup来创建Servlet实例。Servlet的生命周期包括创建、初始化、服务、销毁四个阶段。 5. 用SQL语句分页 在...

    java学习过程中碰到的到一些问题以及面试经历.zip

    【一线互联网大厂Java核心面试题库】Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等..

    java工程师面试题大全-100%公司笔试题你都能碰到几个.pdf

    1. **List**: 有序集合,允许重复元素。 2. **Set**: 不允许重复元素,内部排序。 3. **Map**: 存储键值对,键不允许重复,值可以重复。 #### 七、final、finally、finalize的区别 1. **final**: 用于声明不可变的...

    2023年JAVA程序员面试之葵花宝典.doc

    异常表达程序运营过程中也许出现的非正常状态,运营时异常表达虚拟机的通常操作中也许碰到的异常,是一种常见运营错误。Java编译器规定方法必须声明抛出也许发生的非运营时异常,但是并不规定必须声明抛出未被捕获的...

    2016 C C++面试题

    在C语言中,结构体仅仅是一个数据的集合,没有成员函数。而在C++中,`struct`和`class`非常相似,主要区别在于`struct`的成员默认为公有的(public),而`class`的成员默认为私有的(private)。此外,C++中的`...

    Learning-notes-java:java学习过程中碰到的到一些问题以及面试经历

    在Java学习过程中,我们会遇到各种问题,而"Learning-notes-java:java学习过程中碰到的到一些问题以及面试经历"这个资源正是一份集中的记录。它不仅包含了基础到高级的Java编程概念,还分享了作者在面试过程中的经验...

    开源bbs源码java-interview-note:面试题总结

    以下是总结java面试中常见的知识点以及碰到的坑等,经历有限,需待练级! 一、java基础 实例方法和静态方法有什么不一样? Java中的异常有哪几类?分别怎么使用? 常用的集合类有哪些?比如List如何排序? ArrayList...

Global site tag (gtag.js) - Google Analytics