集合专题·拔高·壹

文章目录

  • 1 Collection单列集合、Map双列集合
    • 1.1 Collection单列集合
      • 1.1.1 Collection单列集合及其实现类
        • 1.1.1.1 list集合与Array数组
          • 1.1.1.1.1 ArrayList
          • 1.1.1.1.2 LinekdList
          • 1.1.1.1.2 Vector
            • 1.1.1.1.2.1 ArrayList、Vector (线程安全)的区别是什么
            • 1.1.1.1.2.2 哪些集合类是线程安全的
        • 1.1.1.2 Set集合
          • 1.1.1.2.1 HashSet
          • 1.1.1.2.2 LinkedHashSet
          • 1.1.1.2.3 TreeSet

1 Collection单列集合、Map双列集合

在这里插入图片描述

1.1 Collection单列集合

每个元素只包含一个值

1.1.1 Collection单列集合及其实现类

在这里插入图片描述

1.1.1.1 list集合与Array数组

list集合:添加的元素是有序的、可重复的、有索引

  • list转换为数组:调用List实现类(多态)的toArray方法

Array数组:数组只能存储一类元素、数组有索引、可以重复、数组初始化时需要指定大小list无需

  • 数组转换成list:调用Arrays(加s的大部分情况都是工具类)的asList方法。
1.1.1.1.1 ArrayList

ArrayList底层基于数组实现:查询较快、增删较慢

  • 查询较快:查询时候有索引
  • 增删较慢:每增加或者删除一个,后边的元素都需要移动

底层基于数组实现,特点:有序、可重复、有索引

1.1.1.1.2 LinekdList

LinekdList底层基于双向循环链表实现:查询较慢、增删较快

  • 查询慢:双向链表有头、尾节点查询一个一个查找需确认这两个节点所以慢
  • 增删快:根据头尾节点便可完成删除、增加操作

基于双向链表实现:有序、可重复、有索引

1.1.1.1.2 Vector

Vector:线程安全的,性能低,已逐渐被ArrayList取代。

1.1.1.1.2.1 ArrayList、Vector (线程安全)的区别是什么
VectorArrayList
线程安全的线程不安全(单线程使用)
扩容时,Vector扩容100%ArrayList 扩容50%(节省内存)
单线程环境,我们使用ArrayList
1.1.1.1.2.2 哪些集合类是线程安全的

① Vector:比ArrayList多了同步锁机制
② Stack :堆栈类,先进后出,不常用
③ Hashtable:比HashtMap就多了个线程安全(性能就低了),所以还是建议HashtMap

1.1.1.2 Set集合

1.1.1.2.1 HashSet
1.1.1.2.2 LinkedHashSet
1.1.1.2.3 TreeSet

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/13908.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【elasticsearch部署】

安装elasticsearch 1.部署单点es1.1.创建网络1.2.加载镜像1.3.运行 2.部署kibana2.1.部署2.2.DevTools 3.安装IK分词器3.1.在线安装ik插件(较慢)3.2.离线安装ik插件(推荐)1)查看数据卷目录2)解压缩分词器安…

基于web的电动车租赁管理系统C#+asp.net+sqlserver

具体功能如下:个人信息管理:实现登陆后对个人信息进行修改和查看的功能。 修改登录密码:实现登陆后对个人密码进行修改的功能。 申请租车订单:客户用户登陆后可以申请租车订单。同时可以查看租赁订单信息。 售后评价管理&#xff…

【PR 基础】设置上下黑白边的两种方法

方法1 点击 文件-》新建-》旧版标题 点击确定 点击矩形工具 利用矩形工具框选出上下黑白边 款选完成后点击关闭 将刚创建的字幕拖入轨道 可以修改其持续时长与视频时长保持一致 如果想要修改字幕可以双击来修改 比如可以将颜色改为黑色 方法2 点击号,再选择安全边…

C语言入门篇——函数篇

目录 1、什么是函数 2、函数的分类 2.1库函数 2.2自定义函数 3、函数的参数 3.1实际参数(实参) 3.2形式参数(形参) 4、函数的调用 4.1传值调用 4.2传址调用 5、函数的嵌套调用和链式访问 5.1嵌套调用 5.2链式访问 6、…

【C++】模板

目录 前言 1.函数模板 1.1使用 1.2实现逻辑 1.3实例化 1.4匹配规则 2.类模板 2.1使用 实例化 前言 🎗️照以前的想法,若我们想实现一个交换函数,需要这样写。 void swap(int& x, int& y) {int tmp x;x y;y tmp; }int …

自动驾驶方案及相关对标

华为: 2021年4月18日,在华为智能汽车解决方案BU新品发布会上,华为智能汽车解决方案BU总裁王军表示,华为要持续加大对汽车行业的投入,今年在研发上的投资将达到10亿美元,未来每年保持30%左右增长&#xff0…

[Netty] Mpsc Queue (十七)

JCTools 是适用于 JVM 并发开发的工具,主要提供了一些 JDK 确实的并发数据结构,例如非阻塞 Map、非阻塞 Queue 等。其中非阻塞队列可以分为四种类型,可以根据不同的场景选择使用。 Spsc 单生产者单消费者Mpsc 多生产者单消费者Spmc 单生产者…

【AI生产力工具】Midjourney:为创意人士提供创造性灵感和支持的工具

文章目录 一、Midjourney是什么?二、Midjourney的优势三、Midjourney的应用四、结语 在现代社会,创意和创新成为越来越重要的能力。然而,创意灵感的获取却不是一件容易的事情,这就需要我们使用一些辅助工具来帮助我们发现和实现创…

Docker容器---网络、容器操作

Docker容器---网络、容器操作 一、docker实现原理二、docker网路模式1、Host模式2、container模式3、none模式4、bridge模式 三、自定义网络1、查看网络模式列表2、查看容器信息3、指定分配IP地址4、自定义网络固定IP 四、暴露端口五、容器端口映射1、创建端口映射 六、资源控制…

达梦数据迁移问题罗列

目录 一、前言 二、问题罗列 一、前言 最近小编接触到国产的数据库达梦数据库,然后在用达梦数据迁移工具MySQL迁移至达梦的时候遇到了一系列的问题现在罗列一下在这里。目前关于国产的数据库达梦这些资料比较少,希望能够帮到有需要的同志们&#xff01…

零代码是什么?零代码平台适合谁用?

随着信息技术的发展,软件开发领域也不断发生变革,零代码(No-Code)开发模式越来越受到关注。 零代码到底是什么,能不能用通俗的话来说?这就来给大家讲一讲! 01 零代码为什么出现? 随…

Java基础——缓冲流

(1)缓冲流概述: 缓冲流也称高效流,或者高级流。(字节流可称原始流)作用:缓冲流自带缓冲区,可以提高原始字节流,字符流读写数据的性能。 (2)字节缓…

【工作思考】如何提升自己的编程能力?

文章目录 前言一、代码评审为什么要进行代码评审? 二、持续学习能力三、良好的编程习惯代码注释避免深度嵌套拒绝长函数重视自测文档编写重构你的代码学会思考 四、多接触开源项目五、总结 前言 在工作中,我们大部分的时间都是在阅读代码,阅…

无人机影像处理流程

无人机由于其方便快捷,精度高等特点已经广泛应用于农田尺度的作物生长监测。尤其是近年来大疆推出了两个多光谱无人机,价格也相较便宜。但目前无人机的使用实际上需要进一步处理才能获取得到农田的基本信息,主要包括影像的校正和图像拼接&…

[oeasy]python0139_尝试捕获异常_ try_except_traceback

尝试捕获异常 回忆上次内容 变量相加 整型数字变量可以相加字符串变量也可以拼接 但是 字符串 和 整型数字整型数字 和 字符串不能相加 怎么办? 转格式int(“1”)str(2) 可是 如果输入的苹果数量是 字符串"abc" int(“abc”)会发生什么?&…

OpenText Exceed TurboX (ETX) 安全功能介绍

OpenText Exceed TurboX (ETX) 安全功能介绍 将所有重要的知识产权(IP )相关数据保存在受良好保护的中央数据中心是保护 IP 的最佳做法。安全的远程访问是保护知识产权的关键。 所有数据流量均采用最新标准加密技术进行加密ETX 整合多种身份验证系统ET…

Python爬虫之MongoDB

目录 一、Mongo概述 二、安装&下载 1.下载: 2.安装 三、基本命令 插⼊数据 查询数据 修改数据 删除数据 索引 四、Python与MongoDB交互 1.安装pymongo 2.使⽤ 一、Mongo概述 MongoDB是什么? MongoDB是⾮关系型数据库(No sql) 为啥需要…

吃透Redis面试八股文

Redis连环40问,绝对够全! Redis是什么? Redis(Remote Dictionary Server)是一个使用 C 语言编写的,高性能非关系型的键值对数据库。与传统数据库不同的是,Redis 的数据是存在内存中的&#xf…

原来这就是所谓的 JSR!

相信大家在学习 Java 的过程中,或多或少都见过 JSR 这个词。本篇文章就科普下什么是 JSR。 什么是 JSR ? JSR(Java Specification Requests),是指 Java 规范请求(或者活规范提案)。这个请求&a…

API 自动化测试难点总结与分享

笔者是 API 管理工具的项目参与者之一,在日常工作中会经常遇到 API 自动化测试难点,我决定总结分享给大家: API 自动化测试的难点包括: 接口的参数组合较多,需要覆盖各种可能的情况。 接口的状态和数据关联较多&#…