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.怎么确保一个集合不能被修改?

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • vue源码解读1

    vue源码解读1

  • Windows连接树莓派_树莓派4 win10专业版

    Windows连接树莓派_树莓派4 win10专业版一、准备工作树莓派3B+主板一个(系统已烧制完毕)win10电脑一台网线一条二、win10设置1.将网线与树莓派连接2.右击网络连接图标,选择打开“网络和Internet”设置3.打开网络和共享中心4.打开更改适配器设置5.选择以太网2,右击属性进入,对共享选项卡进行设置,勾选允许,并选择以太网三、查看树莓派IP通过快捷键win+R进入命令行界面…

    2022年10月14日
  • clion永久激活码【2021免费激活】

    (clion永久激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

  • fontTools(ttf转xml)

    2019独角兽企业重金招聘Python工程师标准>>>…

  • centos7下安装mysql5.7(rpm)「建议收藏」

    centos7下安装mysql5.7(rpm)「建议收藏」一查看linux操作系统版本和系统内核版本[root@nfs_client~]#cat/etc/redhat-release查看操作系统版本CentOSLinuxrelease7.5.1804(Core)[root@nfs_client~]#uname-r查看系统内核版本3.10.0-862.el7.x86_64…

  • 查看数据库锁表以及解锁

    查看数据库锁表以及解锁今天启动项目时发现项目启动报错CouldnotopenJDBCConnectionfortransaction,weblogic控制台上服务器也有警告。网上提示是根据实际操做确认连接池不足,程序在获取连接完成数据库操作后,没有及时关闭连接。但是按照网上提供的方法改了之后仍然报错,后发现是数据库锁表了。可以根据以下代码查看数据库中有哪些表锁住了selectc.id,c.serial#,c.username,c.osuser,b.owner,b.object_name,a.locked_mod

发表回复

您的电子邮箱地址不会被公开。

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