当前位置:首页 > 技术文章 > Java > Java面试题

  • List, Set, Map Z#XÆIT4?
    List, Set, Map Z#XÆIT4?
    List是有序且允许重复的集合,适用于需要索引访问和顺序存储的场景;Set是无序且不允许重复的集合,适用于确保元素唯一性的场景;Map是键值对集合,适用于通过唯一键快速查找值的场景。List常用实现有ArrayList(随机访问快)和LinkedList(插入删除快);Set常用实现有HashSet(快速存取)、LinkedHashSet(保持插入顺序)和TreeSet(有序);Map常用实现有HashMap(高性能)、LinkedHashMap(保持插入顺序)和TreeMap(按键排序)。使用
    Java面试题 . Java 987 2025-08-03 08:06:02
  • lterator 怎么使用?有什么特点?
    lterator 怎么使用?有什么特点?
    迭代器是一种统一访问集合元素的标准接口,1.核心是通过Symbol.iterator获取迭代器对象并调用next()方法返回{value,done}结构;2.for...of循环基于此协议自动遍历可迭代对象如数组、字符串等;3.自定义可迭代对象需实现Symbol.iterator方法且返回含next()的迭代器;4.常见坑是迭代器为一次性使用,遍历完成后需重新获取新实例才能再次遍历,否则将无法获取数据。
    Java面试题 . Java 368 2025-08-01 12:23:01
  • java 容器都有哪些?
    java 容器都有哪些?
    Java容器主要分为Collection和Map两大类:1.Collection用于存储单个对象,包括List(有序可重复,如ArrayList、LinkedList)、Set(无序不重复,如HashSet、TreeSet)和Queue(先进先出,如ArrayDeque、PriorityQueue);2.Map用于存储键值对,key唯一,value可重复,常见实现有HashMap、TreeMap和Hashtable;3.ArrayList基于数组,查询快增删慢,LinkedList基于链表,增删
    Java面试题 . Java 631 2025-07-31 11:33:01
  • 在 Queue 中 poll()和 remove()有什么区别?
    在 Queue 中 poll()和 remove()有什么区别?
    poll()和remove()的核心区别是:队列为空时,remove()抛NoSuchElementException异常,而poll()返回null;2.remove()适用于队列不应为空的场景,用于快速暴露逻辑错误;3.poll()适用于允许队列为空的场景,支持非阻塞、优雅处理空状态;4.Queue接口统一采用两种错误处理风格:抛异常(add/remove/element)或返回特殊值(offer/poll/peek);5.多线程下poll()更安全灵活,尤其在并发队列和阻塞队列中配合tak
    Java面试题 . Java 1053 2025-07-30 14:46:01
  • 如何决定使用 HashMap 还是 TreeMap?
    如何决定使用 HashMap 还是 TreeMap?
    若只需快速存取且无需排序,选HashMap,因其平均O(1)性能优势明显;2.若需按键排序或范围查询,必须选TreeMap,因其支持有序操作如subMap且保证O(logn)稳定性能;3.还需考虑null值处理(HashMap允许null键,TreeMap不允许)、线程安全(两者均非线程安全,应选用ConcurrentHashMap或ConcurrentSkipListMap)及内存开销(TreeMap节点额外指针占用更高)。
    Java面试题 . Java 611 2025-07-29 14:10:02
  • 如何实现数组和 List 之间的转换?
    如何实现数组和 List 之间的转换?
    数组转列表应使用newArrayList(Arrays.asList(array))或Arrays.stream(array).collect(Collectors.toList())创建可修改列表,避免Arrays.asList()返回固定大小列表的坑;2.列表转数组必须用list.toArray(newT[0])保证类型安全,不可直接强转Object[];3.转换常见坑包括Arrays.asList()返回不可变列表和List.toArray()无参方法类型错误;4.性能上小数据量可忽略开销
    Java面试题 . Java 344 2025-07-28 11:30:02
  • Collection 和 Collections 有什么区别?
    Collection 和 Collections 有什么区别?
    Collection是接口,定义集合基本行为;2.Collections是工具类,提供静态方法操作集合;3.常见子接口有List(有序可重复)、Set(无重复)、Queue(FIFO);4.Collections常用功能包括排序、查找、线程安全包装、不可变集合、最值计算;5.分离设计实现职责清晰、代码复用、易于扩展和维护,体现面向接口编程思想。
    Java面试题 . Java 859 2025-07-25 12:13:02
  • Iterator 和 Listlterator 有什么区别?
    Iterator 和 Listlterator 有什么区别?
    Iterator适用于所有Collection子类,仅支持单向遍历和删除;2.ListIterator仅用于List,支持双向遍历、添加、修改元素及获取索引;3.List需要ListIterator因其有序性和索引特性,能实现更灵活的操作如插入、替换和双向移动;4.实际开发中,当需双向遍历、修改元素或获取索引时应优先使用ListIterator;5.常见陷阱包括ConcurrentModificationException(应使用迭代器自身方法修改集合)、remove()调用前必须调用next(
    Java面试题 . Java 187 2025-07-24 09:41:02
  • 说一下 HashMap 的实现原理?
    说一下 HashMap 的实现原理?
    HashMap的实现原理简单来说,就是一个“数组+链表/红黑树”的结构。它通过计算键的哈希值来确定键值对在数组中的位置,如果多个键的哈希值相同(哈希冲突),就将这些键值对以链表或红黑树的形式存储在同一个数组位置。解决方案:HashMap的核心在于如何高效地存储和检索键值对。它使用了哈希表的数据结构,哈希表是一个数组,数组的每个元素被称为桶(bucket)。哈希函数:当你put(key,value)时,HashMap首先会调用key的hashCode()方法计算key的哈希值。这个哈希值会被Has
    Java面试题 . Java 260 2025-07-23 14:23:02
  • 普通类和抽象类有哪些区别?
    普通类和抽象类有哪些区别?
    普通类和抽象类的核心区别在于“完整性”和“实例化能力”。1.普通类可以被直接实例化,用于创建对象,而抽象类不能直接实例化,必须通过子类实现其抽象方法后才能使用;2.抽象类可以包含抽象方法(没有具体实现的方法),而普通类不允许包含任何抽象方法;3.继承抽象类的子类必须实现其所有抽象方法,除非它本身也是抽象类,而普通类继承时没有这种强制要求;4.抽象类的设计目的是为了定义通用行为并强制子类实现特定功能,普通类则专注于具体实现;5.抽象类的构造器只能被子类调用以初始化成员变量,而普通类的构造器可直接用
    Java面试题 . Java 999 2025-07-22 10:32:02
  • 怎么确保一个集合不能被修改?
    怎么确保一个集合不能被修改?
    要确保集合不能被修改,可通过创建不可变集合、使用防御性拷贝、封装和访问控制、利用库提供的不可变数据结构等方法实现。1.创建不可变集合:使用Java的Collections.unmodifiableList或Python的frozenset等机制,使集合在创建后无法被修改。2.防御性拷贝:创建原始集合的副本,确保外部修改不影响内部集合。3.封装和访问控制:将集合设为私有并仅提供读取方法,防止外部修改。4.使用库提供的不可变数据结构:如Java的Immutables或JavaScript的Immut
    Java面试题 . Java 351 2025-07-21 20:41:01
  • 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
    两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?
    两个对象的hashCode()相同,equals()方法不一定返回true。这是因为hashCode()的返回值有限,不同对象可能产生相同的哈希值(即哈希碰撞),而equals()才是判断对象是否相等的最终依据;因此当hashCode()相同时,仍需通过equals()进一步确认对象是否真正相等。
    Java面试题 . Java 986 2025-07-20 14:21:01
  • String 属于基础的数据类型吗?
    String 属于基础的数据类型吗?
    String在Java、Python等现代编程语言中不是基础数据类型,而是引用类型对象。它之所以常被误解为基本类型,是因为其使用频率高且操作直观,并且语言层面提供了字面量语法(如"hello")、运算符重载(如+拼接)等便利特性。此外,String的不可变性和字符串常量池机制也增强了其独特性与高效性,例如避免多线程竞态条件和优化内存使用。然而,作为引用类型,String的变量存储的是指向堆内存中实际数据的引用,而非直接存储值;每次修改都会创建新对象,可能导致性能问题;比较时需用equals()而
    Java面试题 . Java 788 2025-07-19 16:48:02
  • 什么是多态
    什么是多态
    多态是指同一接口在不同对象下展现不同行为,它通过父类引用操作子类对象,实现统一调用。1.多态解决了类型爆炸问题,提升代码灵活性与可扩展性;2.其核心实现方式包括方法重写(运行时多态)和方法重载(编译时多态);3.抽象类与接口进一步支持多态行为;4.多态广泛应用于框架设计、设计模式(如策略、工厂、模板方法)及通用数据处理中,符合开闭原则,使代码更简洁易维护。
    Java面试题 . Java 431 2025-07-18 17:54:02
  • 重写和重载的区别
    重写和重载的区别
    重写和重载的核心差异在于发生的场景和机制:1.重载发生在同一个类中,方法名相同但参数列表不同,编译时决定调用哪个方法,用于提高API易用性和代码清晰度;2.重写发生在子类对父类方法的重新实现,方法签名完全一致,运行时根据对象实际类型决定调用哪个方法,实现运行时多态,提升系统扩展性。
    Java面试题 . Java 1021 2025-07-17 17:01:02

PHP讨论组

组员:3305人话题:1500

PHP一种被广泛应用的开放源代码的多用途脚本语言,和其他技术相比,php本身开源免费; 可以将程序嵌入于HTML中去执行, 执行效率比完全生成htmL标记的CGI要高许多,它运行在服务器端,消耗的系统资源相当少,具有跨平台强、效率高的特性,而且php支持几乎所有流行的数据库以及操作系统,最重要的是

学习途径

工具推荐

jQuery企业留言表单联系代码

jQuery企业留言表单联系代码是一款简洁实用的企业留言表单和联系我们介绍页面代码。
表单按钮
2024-02-29

HTML5 MP3音乐盒播放特效

HTML5 MP3音乐盒播放特效是一款基于html5+css3制作可爱的音乐盒表情,点击开关按钮mp3音乐播放器。
播放器特效
2024-02-29

HTML5炫酷粒子动画导航菜单特效

HTML5炫酷粒子动画导航菜单特效是一款导航菜单采用鼠标悬停变色的特效。
菜单导航
2024-02-29

jQuery可视化表单拖拽编辑代码

jQuery可视化表单拖拽编辑代码是一款基于jQuery和bootstrap框架制作可视化表单。
表单按钮
2024-02-29

TGroupon团购系统

TGroupon团购系统是以php+MySQL进行开发的团购网站系统,首页能同时显示多个正在进行中的团购商品,将团购中的商品最大限度的展示在用户面前,对提升网站整体销售量有着很大的帮助。安装说明:1:环境:windows/LINUX/UNIX/apache,mysql,php2:所用语言: php,javascript,xml,html3:将程序放置空间或者服务器上,要求uploadfiles目录可写,cache目录可写,common目录可写,config目录可写,data目录可写,templates_
电商源码
2025-11-12

成都咖啡网站管理系统1.6.9

成都咖啡网站管理系统特点:
企业站源码
2025-11-12

企业网站源码系统

该软件是一个以asp+access进行开发的常用asp企业网站源码,页面整洁大方,适合于大部分的企业网站。
电商源码
2025-11-12

中国新华企业网站管理源码 build 201009

新华企业网站管理源码二,可用于装修、设计、美术等等企业单位网站 系后台功能统管理,新闻管理,产品管理,单页管理,留言管理,友情链接登陆用户名: admin 密码: admin
企业站源码
2025-11-12

烘焙面包坊矢量风格烘焙插图

烘焙面包坊矢量风格烘焙插图适用于烘焙等相关视觉场景设计的AI格式素材。
矢量素材
2025-11-12

极简黑色线描城市街景矢量素材

极简黑色线描城市街景矢量素材适用于现代插画集或城市主题的文创产品等相关视觉场景设计的AI格式素材。
矢量素材
2025-11-12

创意中国地标设计矢量插画

创意中国地标设计矢量插画适用于国家形象宣传、国际交流活动、语言学习App、创意海报、旅游宣传、文旅宣传等相关视觉场景设计由AI生成的Ai格式素材。
矢量素材
2025-11-12

极简国风国庆节展板矢量背景

极简国风国庆节展板矢量背景适用于等相关视觉场景设计由AI生成的Ai格式素材。
矢量素材
2025-11-12

驾照考试驾校HTML5网站模板

驾照考试驾校HTML5网站模板是一款适合提供驾驶培训和组织驾照考试服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-06-10

驾照培训服务机构宣传网站模板

驾照培训服务机构宣传网站模板是一款适合提供一般驾驶和计划培训的驾校宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-01-07

新鲜有机肉类宣传网站模板

新鲜有机肉类宣传网站模板是一款适合提供各种新鲜有机肉类食材宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-01-06

HTML5房地产公司宣传网站模板

HTML5房地产公司宣传网站模板是一款适合从事房地产服务行业宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。
前端模板
2025-01-06
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号