Java面试题分享-集合

Java面试笔试题大汇总(最全+详细答案) Java面试笔试题大汇总(最全+详细答案) Java面试笔试题大汇总(最全+详细答案) 立即下载

问:Collection和Collections的差别
答:Collection 是一个集合接口,比如List、Set,Collections 是一个帮助类,有搜索、排序、线程安全化等操作。

问:ArrayList与Vector的差别
答:这两个类都实现了List接口,它们都是有序集合,线程安全的问题,Vector是线程安全的,Vector默认添加原来的一倍,ArrayList默认添加原来的0.5倍。

问:HashMap与HashTable的差别
答:两者都实现了Map接口,HashTable是早期Java就有的,是线程安全的,HashMap线程不安全的,HashMap同意空的key和value,HashTable不同意。

问:List与Map的差别
答:List是存储单列数据的集合,Map是存储key和value这样双列数据的集合,List中存储的数据是有顺序的而且同意反复,Map其中存储的数据是没有顺序的,存储的key是不能反复的,value是能够反复的,List继承Collection接口,Map不是。

问:LinkedList与ArrayList有什么差别
答:两者都实现的是List接口,ArrayList是基于动态数组实现的,LinkedList是基于链表的数据结构,get訪问List内部随意元素时ArrayList的性能要比LinkedList性能好,对于新增和删除操作LinkedList要强于ArrayList,由于ArrayList要移动数据。

问:List和Set区别
答:首先List和Set都是单列元素的集合,它们有一个共同的父接口Collection,List内的元素讲究有序性,内部元素可反复,Set讲究的是无序性,元素不可反复。

问:HashSet,TreeSet,LinkedHashSet之间的区别方法
答:HashSet只去重,TreeSet去重并排序,实现Comparable接口中的compareTo方法,LinkedHashSet去重并保留插入顺序。

问:HashMap的实现原理
答:HashMap底层就是一个数组结构,数组中的每一项又是一个链表,根据Hash值得到这个元素在数组中的位置,如果数组该位置上已经存放有其他元素了,那么在这个位置上的元素将以链表的形式存放,新加入的放在链头,最先加入的放在链尾,获取时直接找到hash值对应的下标,在进一步判断key是否相同,从而找到对应值,HashMap中的元素个数超过数组大小*loadFactor时,就会进行数组扩容即扩大一倍,loadFactor的默认值为0.75。

问:列举线程安全的类
答:StringBuffer ,Vector,Hashtable,Enumeration,Stack。

问:介绍下Java并发编程包concurrent中的ConcurrentMap
答:更好的并发性能,在你从中读取对象的时候ConcurrentHashMap,并不会把整个Map锁住只是把 Map 中正在被写入的部分进行锁定。

R语言机器学习:XGBoost线性回归模型的SHAP值 SHAP(SHapley Additive exPlanations)值是一种基于博弈论Shapley值的机器学习模型解释方法,能够解释任何模型的预测结果。其主要用途包括:1)提高模型的可解释性,帮助非技术用户理解模型预测;2)识别对模型预测最重要的特征,辅助特征选择;3)调试模型,发现预测中的异常;4)评估模型公平性,避免偏见。SHAP值的计算方法包括初始化、迭代计算、归一化和解释,常用工具如Python的shap库支持多种计算方式(如TreeSHAP、KernelSHAP等)。本文还提供了基于R语言计算 阅读详情

相关推荐

5分钟搞懂超分算法:从插值到深度学习的实战对比(附Python代码)

本文系统对比了从传统插值到深度学习的主流超分算法,包括最近邻、双线性、双三次插值,以及基于边缘、统计模型和SRCNN、ESPCN、SRGAN等深度学习模型。通过实战代码和决策框架,帮助开发者根据图像质量、速度、资源等需求,快速选择最合适的超分辨率算法,实现从低清到高清的有效转换。

pp12345的博客 429

Java程序员不得不会的124道面试题(含答案)

double 和 long 都是64位宽,因此对这两种类型的读是分为两部分的,第一次读取第一个 32 位,然后再读剩下的 32 位,这个过程不是原子的,但 Java 中 volatile 型的 long 或 double 变量的读写是原子的。意思就是说,在你写一个 volatile 域时,能保证任何线程都能看到你写的值,同时,在写之前,也能保证任何数值的更新对所有线程是可见的,因为内存屏障会将其他所有写的值更新到缓存。如果你不这么做,在解析或者格式化日期的时候,可能会获取到一个不正确的结果。

Javaesandyou的博客 3万+

DaVinci Developer中枚举类型变量的创建与实战应用

本文详细介绍了在DaVinci Developer中创建和使用枚举类型变量的方法与实战应用。通过智能温控系统的案例,阐述了枚举类型在嵌入式开发中的核心价值,包括提升代码可读性、类型安全性和维护便捷性。文章还提供了枚举类型在状态机实现和多模块协同中的高级应用技巧,以及调试与优化的实用建议。

ik678901234的博客 511

Java常见面试题及答案汇总(2025持续更新)

默认比较对象地址(Object类),但可被重写(如 String 比较内容)。:隐藏对象的属性和实现细节,仅对外提供访问方式(getter/setter)。:数组 + 链表 + 红黑树(链表长度 ≥8 时转红黑树)。:同一方法在不同对象上有不同行为(方法重写、接口实现)。:默认容量 16,负载因子 0.75,扩容时容量翻倍。:新生代(复制算法) + 老年代(标记-整理)。:分布式系统只能满足其中两项(如 CP、AP)。:数组 + 链表(哈希冲突时链表存储)。:高效(新生代使用),但浪费空间。

2501_91715693的博客 1万+

Word多级标题出现黑块的解决思路(word 数字必须介于1-1638之间)

遇到多级目录出现黑块问题,看到一篇博客完美解决,在此记录。

AI_Optimization的博客 3716

RabbitMq安装

本文详细介绍了在CentOS7系统上离线部署RabbitMQ4.3.2的完整流程。主要内容包括:1)准备RabbitMQ安装包、Erlang依赖和socat网络工具;2)安装系统编译依赖并编译安装Erlang;3)部署RabbitMQ服务,配置环境变量和socat依赖;4)启用Web管理插件并创建管理员账号;5)配置防火墙放行端口;6)设置Systemd开机自启服务;7)提供常用运维命令。文档特别强调离线部署注意事项,包括socat依赖、版本兼容性、账号安全及主机名配置等问题,为生产环境部署提供完整解决方案

sinat_25821779的博客 323

10万字208道Java经典面试题总结(附答案)

1、JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。 2、== 和 equals 的区别是什么? 对于基本类型,==比较的是值; 对于引用类型,==比较的是地址; equals不能用于基本类型的比较; 如果没有重写equa

学Java,找哪吒 106万+

在 SAP 中,寄售业务(Consignment)与管道业务(Pipeline)都属于“物料先到、发票后到”的特殊采购模式,但两者的库存形态、物权转移时点、结算触发条件、系统配置完全不同

SAP中寄售业务与管道业务均属"先货后票"采购模式,但存在本质差异。寄售业务(如手机芯片)采用实物库存管理(标记"K"),物权在领用时转移,通过411K/201K移动类型触发负债;管道业务(如蒸汽)无实物库存,采用261P等移动类型直接消耗并生成应付。系统配置上,寄售需K类信息记录及GR收货,管道需P类信息记录且免GR。两者均通过MRKO汇总结算,但寄售按领用量计费,管道按提取量实时计费。核心区别在于库存形态与物权转移时点。

金牌架构师 557

Java常见面试题,2021年及答案汇总

Java常见面试题,2021年及答案汇总 其实,博主还整理了,更多大厂面试题,直接下载吧 下载链接:高清172份,累计 7701 页大厂面试题 PDF 1、什么是ThreadPoolExecutor? ThreadPoolExecutor就是线程池 ThreadPoolExecutor其实也是JAVA的一个类,我们一般通过Executors工厂类的方法,通过传入不同的参数,就可以构造出适用于不同应用场景下的ThreadPoolExecutor(线程池) 构造参数图: 构造参数参数介绍: corePoolS

架构师专栏 1242

从零开始学习PX4源码23(飞行模式管理)

本文摘要主要介绍了PX4飞控系统中飞行模式管理模块的代码实现流程。文章从整体架构入手,分析了飞行模式管理模块的启动过程、类继承关系以及核心运行机制。重点阐述了模块从rc.mc_apps启动脚本到FlightModeManager::main()的调用链路,包括任务创建、工作队列初始化和主循环执行流程。核心部分解释了Run()函数如何通过订阅传感器数据、更新参数、处理命令以及生成轨迹设定点来实现飞行模式切换和任务管理功能。文章为理解PX4飞行控制系统的模式切换机制提供了代码层面的详细分析。

陌城烟雨 499

一张微服务地图的十年演进:Spring Cloud 核心、扩展与工具组件的定位、原理与选型

本文把 Spring Cloud 当作一张微服务地图来读:先说明它是由 Commons 抽象层、实现层和 Boot 装配层构成的发行版,再沿一次请求梳理注册发现、负载均衡、声明式调用、容错限流、网关、配置、追踪与总线七类核心组件的原理与换代,并扩展到云平台、服务网格、消息流、批处理、安全与周边生态。仿真实测:默认参数下实例宕机平均 242 秒才被感知,优雅下线降到 47 秒;一个慢实例让轮询的 P99 达 49 秒,P2C 仅 203 毫秒。最后给出退场替代表、技术栈组合、升级路线和决策树。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

Java基础知识面试题

一、JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。 二、== 和 equals 的区别是什么? 1、对于基本类型,==比较的是值; 2、对于引用类型,==比较的是地址; 3、equals不能用于基本类型的比较; 4、如果

学Java,找哪吒 6万+

Altium Designer应用技巧13: 四层板的拼版方法

本文介绍在Altium Designer中,进行4层板的拼版方法。Altium Designer有多种拼版方法,本文选择最直观的复制、删帖方法来完成,步骤如下: 1、看一下原始文件,如下图所示,我们要对该板进行拼版操作。 2、通过菜单“报告”-“板子信息”得到板子大小,在这里一般切换为mm比较好操作,我们可以使用快捷键"q"。 3、如果是水平拼版,我们需要关心水平长度;如果是垂直拼版...

snmplink的博客 1万+

面试题分享之Java集合篇(一)

哈喽,小伙伴们,昨天我们简单了解了一些集合,也见识了一些集合常见的面试题,如:ArrayList扩容等等,因为集合这章面试题比较多,很多要结合源码去深入理解,所以我就单独开辟了一个章节,废话不多说,今天继续来给大家分享几道Java集合的高频面试题。🌈

小杰不秃头的博客 1306

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

面经分享:如何一招破解 Java 集合类面试题?

Java集合类面试题: Java集合类绝对是我们的老朋友了,Java技术江湖里,谁人不知,谁人不晓,它的使用率非常高,使用难度却也不大,这也导致了很多人对它不屑一顾,殊不知其中却暗藏玄机,今天我们不妨一起来破解一下Java集合类的面试题。 面试官常用招式: 1.Java集合框架的基础接口有哪些? Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合.

bjyxszd9的博客 474

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JAVA面试题分享--集合

2. 当 new HashMap():底层没有创建数组,首次调用 put()方法示时,底层创建长度 为 16 的数组,jdk8 底层的数组是:Node[],而非 Entry[],用数组容量大小乘以加载因子得 到一个值,一旦数组中存储的元素个数超过该值就会调用 rehash 方法将数组容量增加到原 来的两倍,专业术语叫做扩容,在做扩容的时候会生成一个新的数组,原来的所有数据需要 重新计算哈希码值重新分配到新的数组,所以扩容的操作非常消耗性能. 默认的负载因子大小为 0.75,数组大小为 16。

qq_56438516的博客 649

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

面经分享:如何破解 Java 集合类面试题

今日招式:Java集合类面试题Java集合类绝对是我们的老朋友了,Java技术江湖里,谁人不知,谁人不晓,它的使用率非常高,使用难度却也不大,这也导致了很多人对它不屑一顾,殊不知其中却暗藏玄机,今天我们不妨一起来破解一下Java集合类的面试题。面试官常用招式:只见面试官微微一笑,拔出长剑,向你刺来,你赶紧拔剑相迎,几招过后,你才意识到面试官使的都是虚招,只是试探你而已。1.Java集合框架的基础接...

weixin_34389926的博客 142

JAVA面试题分享五百零四:Guava集合工具

Guava类库提供了丰富而强大的集合工具,包括不可变集合、新集合类型、集合工具类等,这些工具提供了各种实用的方法来处理集合中的元素、进行集合运算、过滤数据等,可以使得在Java中处理集合变得更加简单、高效,能够帮助开发人员更好地管理和操作集合数据。Maps#filterKeys(Map , Predicate):该方法用于过滤一个 Map 集合中的键,返回一个新的 Map 集合,它包含原始 Map 集合中所有的键值对,但是只有满足条件的键值对会被保留。

之乎者也·的博客 1150

好程序员Java培训分享Java面试题集合篇二

好程序员Java培训分享Java面试题之Java集合篇二1.遍历一个List有哪些不同的方式?      List strList = new ArrayList<>();   //使用for-each循环   for(String obj : strList){   System.out.println(obj);   }   //using iterator   Iterator it = strList.iterator();   while(it.hasNext()){   String

qq_35970166的博客 191

好程序员Java培训分享Java面试题集合篇一

好程序员Java培训分享Java面试题之Java集合篇一1.Java集合框架是什么?说出一些集合框架的优点?   每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:   (1)使用核心集合类降低开发成本,而非实现我们自己的

qq_35970166的博客 145

开通源力计划后的第一篇文章,分享一波迄今为止 “最全” 的Java面试题集合容器篇

Hash,一般翻译为“散列”,也有直接音译为“哈希”的, Hash就是指使用哈希算法是指把任意长度的二进制映射为固定长度的较小的二进制值,这个较小的二进制值叫做哈希值。当两个不同的输入值,根据同一散列函数计算出相同的散列值的现象,我们就把它叫做碰撞(哈希碰撞)。即使是面试跳槽,那也是一个学习的过程。只有全面的复习,才能让我们更好的充实自己,武装自己,为自己的面试之路不再坎坷!今天就给大家分享一个Github上全面的Java面试题大全,就是这份面试大全助我拿下大厂Offer,月薪提至30K!

2401_84424327的博客 785

好程序员Java培训分享Java面试题之Java集合篇三

好程序员Java培训分享Java面试题之Java集合篇三1.HashMap和HashTable有何不同?   (1)HashMap允许key和value为null,而HashTable不允许。   (2)HashTable是同步的,而HashMap不是。所以HashMap适合单线程环境,HashTable适合多线程环境。   (3)在Java1.4中引入了LinkedHashMap,HashMap的一个子类,假如你想要遍历顺序,你很容易从HashMap转向LinkedHashMap,但是HashTable不

qq_35970166的博客 157

宝哥面试题分享(03): Java集合面试题

跟着宝哥学java:面试题分享

跟着宝哥学java的博客 143

面试题分享之Java集合篇(三)

哈喽,小伙伴们,昨天我们见识了HaspMap常见的面试题,如:HaspMap的get、put、resize方法的原理等等,废话不多说,今天继续来给大家分享几道Java集合的高频面试题。🌈

小杰不秃头的博客 1343

好程序员Java培训分享Mybatis面试题集合

今天好程序员Java培训老师给大家分享一篇关于Mybatis面试题的详细介绍,下面我们一起来看一下吧。   1.#{}和KaTeX parse error: Expected 'EOF', got '#' at position 13: {}的区别是什么?   #̲{}是预编译处理,{}是字符串替换。   Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;   Mybatis在处理时,就是把{}时,就是把时,就是把{}替换成变量的值。  

qq_35970166的博客 264

面试题分享之Java集合篇(二)

哈喽,小伙伴们,昨天我们见识了一些集合常见的面试题,如:List为什么实现RandomAccess接口、HashSet实现原理等等,废话不多说,今天继续来给大家分享几道Java集合的高频面试题。🌈

小杰不秃头的博客 992
上一篇: Java面试题分享-IO流处理
下一篇: Java面试题分享-线程
程序媛小敏
博客等级 码龄7年 0粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值