Java面试题及答案2021最新24题(集合&泛型)

最近给大家整理了一批Java面试题一共24题,主要是搜集的Java集合&泛型这块的,是20201最新时间整理的,并且都含答案打包下载。

适宜阅读人群

  • 需要面试的初/中/高级 java 程序员

  • 想要查漏补缺的人

  • 想要不断完善和扩充自己 java 技术栈的人

  • java 面试官

Java面试题全部答案都已经给大家整理好了,大家需要的可以自行下载

Java面试题下载地址链接,请点击此处跳转下载

1、ArrayList和linkedList的区别

Array(数组)是基于索引**(index)**的数据结构,它使用索引在数组中搜索和读取数据是很快的。

Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据,

(因为删除数据以后, 需要把后面所有的数据前移)

缺点: 数组初始化必须指定初始化的长度, 否则报错

例如:

int[] a = new int[4];//推荐使用int[] 这种方式初始化 int c[] = {23,43,56,78};//长度:4,索引范围:[0,3]

List—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。

List有两个重要的实现类:ArrayList和LinkedList

ArrayList: 可以看作是能够自动增长容量的数组

ArrayList的toArray方法返回一个数组

ArrayList的asList方法返回一个列表

ArrayList底层的实现是Array, 数组扩容实现

LinkList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于

ArrayList.当然,这些对比都是指数据量很大或者操作很频繁。

2、 HashMapHashTable的区别

1、两者父类不同

HashMap是继承自AbstractMap类,而Hashtable是继承自Dictionary类。不过它们都实现了同时实现

了map、Cloneable(可复制)、Serializable(可序列化)这三个接口。

2、对外提供的接口不同

Hashtable比HashMap多提供了elments() 和contains() 两个方法。

elments() 方法继承自Hashtable的父类Dictionnary。elements() 方法用于返回此Hashtable中的

value的枚举。

contains()方法判断该Hashtable是否包含传入的value。它的作用与containsValue()一致。事实上,

contansValue() 就只是调用了一下contains() 方法。

3、对null的支持不同

Hashtable:key和value都不能为null。

HashMap:key可以为null,但是这样的key只能有一个,因为必须保证key的唯一性;可以有多个key

值对应的value为null。

4、安全性不同

HashMap是线程不安全的,在多线程并发的环境下,可能会产生死锁等问题,因此需要开发人员自己

处理多线程的安全问题。

Hashtable是线程安全的,它的每个方法上都有synchronized 关键字,因此可直接用于多线程中。

虽然HashMap是线程不安全的,但是它的效率远远高于Hashtable,这样设计是合理的,因为大部分的

使用场景都是单线程。当需要多线程操作的时候可以使用线程安全的ConcurrentHashMap。

ConcurrentHashMap虽然也是线程安全的,但是它的效率比Hashtable要高好多倍。因为

ConcurrentHashMap使用了分段锁,并不对整个数据进行锁定。

5、初始容量大小和每次扩充容量大小不同

6、计算hash值的方法不同

3、Collection包结构,与Collections的区别

4、泛型常用特点 (待补充)

5、说说List,Set,Map三者的区别

6、Array与ArrayList有什么不一样?

7、Map有什么特点

8、集合类存放于 Java.util 包中, 主要有几 种接口

9、什么是list接口

10、说说ArrayList(数组)

11、Vector( 数组实现、 线程同步)

12、说说LinkList(链表)

13、什么Set集合

14、HashSet( Hash 表)

15、什么是TreeSet(二叉树)

16、说说LinkHashSet( HashSet+LinkedHashMap)

17、HashMap(数组+链表+红黑树)

18、说说ConcurrentHashMap

19、HashTable(线程安全)

20、TreeMap(可排序)

21、LinkHashMap(记录插入顺序)

22、泛型类

23、类型通配符?

24、类型擦除

Java面试题全部答案都已经给大家整理好了,大家需要的可以自行下载

Java面试题下载地址链接,请点击此处跳转下载

Java面试题汇总2021最新(集合泛型含答案下载)相关推荐

  1. Java面试题汇总及答案2021最新(序列化含答案)

    Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...

  2. 2019史上最全java面试题题库大全800题含答案

    2019史上最全java面试题题库大全800题含答案 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中的自动装配有 ...

  3. 2019史上最全java面试题题库大全800题含答案(面试宝典)

    2019史上最全java面试题题库大全800题含答案(面试宝典) 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中 ...

  4. 2022史上最全java面试题题库大全800题含答案

    2022史上最全java面试题题库大全800题含答案 1. meta标签的作用是什么 2. ReenTrantLock可重入锁(和synchronized的区别)总结 3. Spring中的自动装配有 ...

  5. Java面试题必考50道(含答案)

    以下的内容是对原有的和最近Java面试题集及答案进行了全面修订之后给出的负责任的题目和答案,相对来说比较经典,相信对准备入职的Java程序员一定有所裨益. Java程序员面试题集(1-50) 一.Ja ...

  6. java byte 判断相等_转发收藏 | 史上最全Java面试题+面试网站推荐!(含答案)

    今天要谈的主题是关于求职,求职是在每个技术人员的生涯中都要经历多次.对于我们大部分人而言,在进入自己心仪的公司之前少不了准备工作,有一份全面细致面试题将帮助我们减少许多麻烦. 相关概念 面向对象的三个 ...

  7. 年终盘点 | 2019年Java面试题汇总篇(附答案)

    作者 | 老王 来源 | Java中文社群「微信公众号」 在这岁月更替辞旧迎新的时刻,老王盘点了一下自己 2019 年发布的所有文章,意外的发现关于「Java面试」的主题文章,竟然发布了 52 篇,几 ...

  8. 【吐血整理】年度盘点 | 2019年Java面试题汇总篇——附答案

    在这岁月更替辞旧迎新的时刻,老王盘点了一下自己 2019 年发布的所有文章,意外的发现关于「Java面试」的主题文章,竟然发布了 52 篇,几乎是全年每周一篇面试文章的节奏,当然其中有不少的面试题来源 ...

  9. Java面试题汇总及答案2021最新(ioNio)

    Java面试题汇总及答案2021最新(io&Nio) 最近给大家整理了一批Java关于io和nio的面试题一共15题,是20201最新时间整理的,并且都含答案打包下载. 适宜阅读人群 需要面试 ...

最新文章

  1. 【转】QT 串口QSerialPort + 解决接收数据不完整问题
  2. 从零开始学习html(七)CSS样式基本知识
  3. Leetcode 103. 二叉树的锯齿形层次遍历 解题思路及C++实现
  4. 北京数码视讯s905l固件_神州数码与MAXHUB构建更紧密的伙伴关系,共同开启可持续发展之旅...
  5. ESP32实验板linux环境中下载固件报错解决办法
  6. python二分法查找数字_Python——二分法查找
  7. 设计灵感|高饱和渐变创意海报设计作品,值得学习
  8. ncl 多个单一时间文件合并成一个nc文件_iOS逆向--MachoO文件
  9. ASP.NET伪静态的实现及伪静态的意义
  10. 函数的梯度方向和切线方向_梯度是函数变化最快的方向
  11. swift 与objective-c区别
  12. 【转】Steam 开发者收入计算
  13. echarts 设置地图默认缩放比例 尺寸
  14. 计算机桌面图标有哪两类,电脑桌面图标箭头,电脑桌面图标有两个箭头
  15. 仿苹果官网产品页面效果特效
  16. 第九周 练习判断闰年和平年
  17. wx小程序(wxml)
  18. userdel: user xxx is currently used by process xxx 解决方案
  19. beaglebone black下接nrf24l01与RFID标签的通信(基于EZSDK linux平台)
  20. 华为路由器忘记密码_如果忘记密码,如何访问路由器

热门文章

  1. Linux系统与我之间的故事
  2. 分布式版本控制系统 Git 教程
  3. go3--常量和类型转换
  4. AC日记——小书童——刷题大军 洛谷 P1926
  5. 【转】ibatis的简介与初步搭建应用
  6. 使用命名管道的OVERLAPPED方式实现非阻塞模式编程 .
  7. SEO查询指令,非常值得你收藏!
  8. pfile和spfile的区别
  9. Go语言开发常见陷阱,你遇到过几个?
  10. linux pps 包 网卡,linux下安装PPS