java集合类面试题

java集合类面试题java集合类面试题1.请聊一下java的集合类,以及在实际项目中你是如何用的?注意说出集合体系,常用类,接口,实现类加上你所知道的高并发集合类,JUC在实际项目中引用,照实说就好了2.集合类是怎么解决高并发中的问题?线程非全的集合类ArrayListLinkedListHashSetTreeSetHashMapTreeMap实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题线程安全的集合类VectorHashTable

大家好,又见面了,我是你们的朋友全栈君。

java集合类面试题

1.请聊一下java的集合类,以及在实际项目中你是如何用的?

注意说出集合体系,常用类,接口,实现类
加上你所知道的高并发集合类,JUC
在实际项目中引用,照实说就好了
在这里插入图片描述
在这里插入图片描述

2.集合类是怎么解决高并发中的问题?

线程非全的集合类ArrayList LinkedList HashSet TreeSet HashMap TreeMap 实际开发中我们自己用这样的集合最多,因为一般我们自己写的业务代码中,不太涉及到多线程共享同一个集合的问题

线程安全的集合类Vector HashTable 虽然效率没有JUC中的高性能集合高,但是也能够适应大部分环境

主要是ConcurrentHashMap和CopyOnWriteArrayList

思路:先说一下哪些是非安全,普通的安全的集合类,JUC中高并发的集合类

3.Vector和ArrayList的区别是什么

在这里插入图片描述

4.ArrayDeque和LinkedList的区别是什么

在这里插入图片描述

5.List,Set,Map三者的区别?

在这里插入图片描述

6.集合框架底层的数据结构

在这里插入图片描述

7.HashMap和HashTable有何不同?

在这里插入图片描述

8.ArrayList和LinkedList有何区别?

在这里插入图片描述

9.集合和数组的区别

在这里插入图片描述

10.Java集合的快速失败机制 “fail-fast”?

在这里插入图片描述

11.遍历一个 List 有哪些不同的方式?每种方法的实现原理是什么?

在这里插入图片描述
在这里插入图片描述

12.HashSet如何检查重复?HashSet是如何保证数据不可重复的?

在这里插入图片描述

private static final Object PRESENT = new Object();
private transient HashMap<E,Object> map;

public HashSet() { 
   
    map = new HashMap<>();
}

public boolean add(E e) { 
   
    // 调用HashMap的put方法,PRESENT是一个至始至终都相同的虚值
	return map.put(e, PRESENT)==null;
}

13.BlockingQueue是什么?

在这里插入图片描述

14.在Queue中poll()和remove()有什么区别?

在这里插入图片描述

15.ConcurrentHashMap和 Hashtable的区别?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16.comparable和comparator的区别?

在这里插入图片描述

17.你能说一下ArrayList在增删的时候是怎么做的么?主要说一下他为啥慢。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
删除其实跟新增是一样的,不过叫是叫删除,但是在代码里面我们发现,他还是在copy一个数组。
在这里插入图片描述
在这里插入图片描述

18.哪些集合类是线程安全的?哪些不安全?

在这里插入图片描述
在这里插入图片描述

19.讲讲红黑树的特点?

在这里插入图片描述

20.怎么确保一个集合不能被修改?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156234.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月9日 上午9:46
下一篇 2022年7月9日 上午9:46


相关推荐

  • “结对编程” 实验心得

    “结对编程” 实验心得实验内容 1 nbsp nbsp nbsp nbsp nbsp nbsp 联系结对编程 体验敏捷开发中的两人合作 2 nbsp nbsp nbsp nbsp nbsp nbsp 两人一组 自由组合 3 nbsp nbsp nbsp nbsp nbsp nbsp 使用一台计算机 共同编码 完成实验要求 4 nbsp nbsp nbsp nbsp nbsp nbsp 在工作期间 两人的角色至少切换 6 次 5 nbsp nbsp nbsp nbsp nbsp nbsp 使用 JAVA ECLIPSE 编程 心得体会 nbsp nbsp 结合这两年的编程经验 我们不难发现 编程耗时最多的方面就是 debug 在我们得

    2026年3月17日
    2
  • 最简单的在IntelliJ IDEA导入一个本地项目教程

    最简单的在IntelliJ IDEA导入一个本地项目教程nbsp nbsp nbsp nbsp 由于在学习中 我们经常会用到别人已经开发好的某些项目 要学习别人的东西 你肯定的先导入编辑器中自己试试吧 eclipse 大家都会 可是换成 idea 开发又该怎样导入呢 整合最近我已需要学习别人的项目 希望把这个过程记录下来帮助大家学习 那么我们就开始吧第二步找到自己要导入的项目 然后点击 ok nbsp 如果是 maven 就选择 maven 剩下的你就一路点击 next 就 ok 最

    2025年11月3日
    7
  • 图文讲解MAC和windows如何SSH连接服务器!

    图文讲解MAC和windows如何SSH连接服务器!众所周知 我有一个前端朋友他想知道怎么连接到服务器 敲了这么久的代码 居然和我说不会 这我就得好好教教他了 咱也不能让他在外头被别人鄙视那不是 就让我给他吹吹 好好教教他 来 上才艺 首先定位我们的电脑系统 无非就是 mac 和 windows 那么我们久针对这两个系统来进行一个说明 当着我们的服务器也是分 windowsserve Linux UNIX NetWare 等 但我们今天主要讲的是 windowsserve 和 Linux 请看正文 MAC 系统连接到 windowss

    2026年3月19日
    2
  • 测试知识整理「建议收藏」

    测试知识整理「建议收藏」测试流程:需求分析–>测试设计(测试计划,测试用例)–>执行测试–>提交BUG–>测试总结测试过程:单元测试、集成测试、系统测试、验收测试单元测试属于白盒测试

    2022年7月3日
    27
  • python 2021 4月激活码【在线破解激活】

    python 2021 4月激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    64
  • 推荐top10的免费下载激活成功教程软件的网站

    推荐top10的免费下载激活成功教程软件的网站Z2ER资源网站Windows绝赞应用爱软客|专注常用软件绿色版、优化版、便携版精品绿色便携软件PortableAppC开心软件园-软件资讯、下载及使用交流Yanu-分享优秀、纯净、绿色、实用的精品软件。ChromeGAE唯一官方网站首页-大软坊-绿色数字未来|DigitalFuture产品类别Windows|极致分享Uptodow…

    2022年10月13日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号