首页 > 其他分享 >12-开发中如何选择集合实现类

12-开发中如何选择集合实现类

时间:2024-07-13 10:59:34浏览次数:14  
标签:12 接口 链表 开发 数组 集合 底层

12--开发中如何选择集合实现类

开发中,选择什么集合实现类,主要取决于业务操作特点,然后根据集合实现类特性进行选择,分析如下:

  1. 先判断存储的类型(一组对象或一组键值对)
  2. 一组对象:Collection 接口
    1. 允许重复:List 接口
      1. 增删多:LinkedList 【底层维护了一个双向链表】
      2. 改查多:ArrayList【底层维护 Object 类型的可变数组】
    2. 不允许重复:Set 接口
      1. 无序:HashSet 【底层是 HashMap ,维护了一个哈希表,即(数组+链表+红黑树)】
      2. 排序:TreeSet
      3. 插入与取出顺序一致:LinkedListHashSet ,维护数组+双向链表
  3. 一组键值对:Map 接口
    1. 键无序:HashMap 【底层是:哈希表 jdk 7:数组+链表, jdk 8:数组+链表+红黑树】
    2. 键排序:TreeSet
    3. 键插入与取出顺序一致:LinkedListHashMap
    4. 读取文件:Properties

标签:12,接口,链表,开发,数组,集合,底层
From: https://www.cnblogs.com/Yao-happy/p/18299448

相关文章

  • 电影《抓娃娃》迅雷BT完整下载[MP4/2.12GB/5.38GB]高清版画质百度云资源[1080p]
    在2024年的暑期档,一部由沈腾和马丽主演的爆笑喜剧电影《抓娃娃》横空出世,迅速吸引了广大观众的眼球。这部由闫非、彭大魔执导,彭大魔、闫非、林炳宝共同编剧的作品,不仅延续了开心麻花一贯的幽默风格,更在笑声中融入了深刻的家庭与教育议题,成为了一部既娱乐又具有深度的佳作。 ......
  • P2120 [ZJOI2007] 仓库建设
    题目大意\(n\)个工厂,每个工厂有\(p_i\)的货物,货物运输一个单位距离的费用是\(1\),工厂可以建造仓库,费用为\(c_i\)。工厂与工厂\(1\)的距离为\(x_i\)。要求将货物运送到下一个最近的仓库,求最小费用。\(1\leqn\leq10^6\)思路先考虑最基本的动规:设\(f_i\)表示在这里......
  • 20240712总结、视图函数映射报错
    网络ip、端口,服务器人脸识别:1.接口,刚开始以为是调用消费机的接口,后来知道是消费机调用我的接口。2.对Django和Flask框架不熟悉,只会基本结构,Flask多套几层蓝图就懵了。3.对服务器、ip这些不明白,搞不懂消费机是怎么和服务器连上的。好像还用了docker4.对端口不熟悉,我对端口的理......
  • 第八篇:Python集合:高效的无序集数据结构
    1.集合的定义Python中的集合(set)是一种高度优化的无序且不重复的数据结构。它在概念上类似于数学中的集合,能够存储多个不同的元素。集合的这种特性使其成为处理唯一性和成员资格检查的理想选择。在Python中,我们可以通过两种主要方式定义集合:a)使用花括号{}:set1={1,......
  • 游戏陪玩app开发,必须知道的拷贝代码
    游戏陪玩app开发,必须知道的拷贝代码(数组/对象)(深/浅)拷贝letlist=[{name:"o"}];letobj={stu:{name:"o"}};//数组浅拷贝letlistCopy1=[].concat(list);letlistCopy2=list.slice();letlistCopy3=Array.from(list);letlistCopy4=[...li......
  • Python项目开发实战,掷硬币的连胜,案例教程编程实例课程详解
    在Python中进行实战项目,比如模拟掷硬币并记录连胜次数,是一个既有趣又能加深理解随机数生成、循环控制、条件判断等编程基础的好方法。下面,我将逐步引导你完成一个详细的Python项目,该项目将模拟掷硬币的过程,并追踪记录连胜的次数,同时我们会深入探讨一些编程概念,如函数封装、异常......
  • 【Python123题库】#查询省会 #字典的属性、方法与应用
    禁止转载,原文:https://blog.csdn.net/qq_45801887/article/details/140081665参考教程:B站视频讲解——https://space.bilibili.com/3546616042621301有帮助麻烦点个赞~~Python123题库查询省会字典的属性、方法与应用查询省会类型:字典‪‬‪‬‪‬‪‬‪‬‮‬‪‬......
  • 微信小程序毕业设计-高校校园交友系统项目开发实战(附源码+论文)
    大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。......
  • 微信小程序毕业设计-学习资料库系统项目开发实战(附源码+论文)
    大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。......
  • Web开发 —— 放大镜效果(HTML、CSS、JavaScript)
    目录一、需求描述二、实现效果三、完整代码四、实现过程1、HTML页面结构2、CSS元素样式3、JavaScript动态控制(1)获取元素(2)控制大图和遮罩层的显隐性(3)遮罩层跟随鼠标移动(4)控制遮罩层移动范围(5)显示放大图一、需求描述前端实现放大镜效果;鼠标移入图片区域,显示遮......