栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的HashMap和ArrayList之间的区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的HashMap和ArrayList之间的区别?

您正在专门询问ArrayList和HashMap,但我认为要完全了解发生了什么,您必须了解Collections框架。因此,ArrayList实现List接口,而HashMap实现Map接口。因此,真正的问题是您何时要使用列表以及何时要使用地图。这是Java
API文档有很大帮助的地方。

清单:

有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。

地图:

将键映射到值的对象。映射不能包含重复的键;每个键最多可以映射到一个值。

因此,正如其他答案所讨论的那样,列表接口(ArrayList)是使用索引访问的对象的有序集合,就像数组一样(就如ArrayList一样,顾名思义,它只是数组中的一个数组)。背景,但处理数组的许多细节已为您处理)。当您要按排序顺序(添加顺序,或者添加对象时指定的列表中的位置)时,可以使用ArrayList。

另一方面,Map接受一个对象,并将其用作另一个对象(值)的键(索引)。因此,假设您有具有唯一ID的对象,并且您知道将要在某个时候通过ID访问这些对象,Map将使您非常容易(并且更快/更高效)。HashMap实现使用键对象的哈希值来定位它的存储位置,因此不再保证值的顺序。但是,Java
API中还有其他类可以提供此功能,例如linkedHashMap,它还使用哈希表存储键/值对,还按添加键的顺序维护键的列表(linkedList),因此您始终可以按添加顺序再次访问这些项目(如果需要)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/495672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号