list set map存取区别

list set map存取区别在于:1、定义不同;2、数据顺序不同。list是一种有序集合,按照对象进入的顺序保存对象,允许重复对象;set是无序的集合,不是按照对象进入的顺序保存,不可重复;map以键值对的方式存储元素,根据键得到值,所有Map集合的Key是无序不可重复的。

list set map存取区别-Worktile社区

1、定义不同

List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合。

list是一种有序集合,按照对象进入的顺序保存对象,并且允许重复对象,插入多个null值。list查找效率快,但增删效率慢,增删会引起其他元素位置发生改变。

set是无序的集合,不是按照对象进入的顺序保存,不可重复,只允许一个null值出现。set检索元素效率低,而增删效率快,增删不会引起其他元素位置发生改变。

map以键值对的方式存储元素,根据键得到值,所有Map集合的Key是无序不可重复的,key和value都是引用数据类型,存的都是内存的地址。

2、数据顺序不同

List中存储的数据是有顺序的,并且值允许重复;Map中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;Set中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素的hashcode决定,即位置是固定的(Set集合是根据hashcode来进行数据存储的,所以位置是固定的,但是这个位置不是用户可以控制的,所以对于用户来说set中的元素还是无序的)。

延伸阅读:

什么是列存储?

我们知道,在SQL Server里,Page是数据存储的基本单位,而数据行是实际数据的存储单位,它们从Page Header之后就开始依次存储在Page上。这种按行在Page上存储记录的方式就是行存储。当数据是按单列而不是多行进行连续存储时,就是所谓的列存储。

磁盘的每个Page仅仅存储来自单列的值,而不是整行的值。因此,压缩算法会更加高效,因为它们能够作用于同类型的数据。例如,假定我们有一张有3列数据的表,这3列从左往右依次是int、varchar和bool类型,并且该表有100条(行)记录。对于都是int类型的名列前茅列数据,应用压缩算法是很容易的,同时压缩率也会很高。这也将表明,我们不必访问该表的所有列,仅需访问感兴趣的相关列的子集,这从另一方面来讲,可以减少磁盘的I/O、提升缓存利用率,因此,磁盘存储会被更加高效的利用,就像索引维护一样。

文章标题:list set map存取区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/36487

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年1月31日 下午11:08
下一篇 2023年1月31日 下午11:10

相关推荐

  • 为什么vscode打html没反应

    Visual Studio Code (VSCode) 不显示 HTML 页面的预览可能是因为没有配置好相关的扩展、文件未被保存、路径错误、实时预览插件未安装或启用、或是浏览器阻止了加载本地文件。其中,最为常见的问题是未安装或启用实时预览插件。VSCode 本身是一款高度可定制的代码编辑器,支持广泛…

    2024年4月3日
    10800
  • 大型复杂项目如何管理

    大型复杂项目的管理关键在于细致的规划、清晰的沟通、灵活的调整能力和严格的进度控制。首先,细致的规划是项目成功的基石,项目经理需要制定出详尽的项目计划,这包括但不限于项目范围、时间表、资源分配、风险评估等。接着,项目经理需确保所有参与者都有清晰的沟通过程,这保证了信息的快速准确传递。在项目进行过程中,…

    2024年4月10日
    4700
  • oa系统从哪里进入

    OA系统进入途径多样,1、通过指定的网址登录,2、通过公司或组织内部网络,3、移动设备APP,4、VPN远程接入其中通过指定网址登录是最为常见的方式,需输入正确网址,并用工作账户验证身份后使用。 对于通过指定网址登录,该方式为用户提供便利性和直观性。往往,企业会设定特定的域名供员工访问,确保数据交换…

    2024年1月11日
    40000
  • 知识库内容的过期和定期审查为什么是必要的

    知识库内容的过期和定期审查是必要的原因:1、确保信息的准确性和可靠性;2、支持组织的可持续性和竞争力;3、提高员工的生产力和效率;4、减少风险和合规性问题;5、提高客户满意度;6、降低培训成本;7、改进决策制定;8、促进知识共享和协作;9、避免信息过载;10、适应新技术和工具。

    2023年11月28日
    33900
  • 保洁项目如何提高品质管理

    保洁项目要提高品质管理,首要的步骤包括选拔合适的保洁人员、持续培训与发展、标准化清洁流程、采用高质量的清洁用品与设备、对工作进行定期评估与反馈等关键方面。特别是培训与发展环节是提升保洁品质管理的核心,它不仅直接关联到保洁人员的专业能力,同时也是营造正面工作氛围和持续改善服务品质的重要因素。定期的培训…

    2024年4月10日
    10500
  • oa入职审批

    标题:OA入职审批流程解析 摘要:OA(Office Automation,办公自动化)系统在现代企业中发挥着至关重要的作用,提升了工作效率和准确性。新员工入职审批是OA系统中一个标准的流程。主要分步骤包括:1、投递简历与初筛、2、面试与评估、3、HR审核与合同签署、4、系统账号创建与配置。流程的规…

    2024年1月16日
    35100
  • 国家如何管理游戏项目经理

    国家对游戏项目经理的管理主要通过制定行业标准、职业资格认证、法律法规监管、继续教育、以及道德规范等方式实施。这些措施旨在确保游戏项目经理具备所需技能、维护行业秩序、促进健康发展。其中,职业资格认证尤为关键,它要求游戏项目经理通过专业考试,获得相应级别的资格证书,这一过程有助于提升其专业技能和行业认知…

    2024年4月10日
    6600
  • 画看板用什么软件

    画看板可用的各种软件工具有:1、Trello;2、Asana;3、Jira;4、KanbanFlow;5、Smartsheet;6、Monday.com;7、Excel。Trello可以通过创建卡片、列表和标签来协作、追踪任务和进度。 1、Trello Trello是一个广泛使用的看板软件,提供了易…

    2023年3月2日
    53600
  • 大家知道的开源知识管理系统有哪些

    知识管理系统并没有一个统一的定义,不同的知识库工具适合的人群也不一致,所以本文除了盘点主流的开源知识管理系统,还将介绍其他主流知识库工具:1.PingCode;2.Confluence;3.MediaWiki;4.Gitbook;5.语雀;6.wiki.js;7.DokuWiki;8.Notion;…

    2023年2月3日
    2.0K00
  • 研发管理中的数据驱动决策

    在研发管理中,数据驱动决策作为实现高效管理和优化研发流程的核心方法,其主体答案是基于数据进行有效决策。核心观点包括:1、精确数据收集;2、关键性能指标(KPIs)设定;3、数据分析与解读;4、数据驱动的策略制定;5、决策实施与效果监控。通过准确地收集数据,设定并跟踪关键业绩指标,深入分析数据以获取洞…

    2023年11月14日
    26700

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部