Collection集合(集合概念的简单理解及数据结构的简单理解)

2023-05-16

Collection集合(简单理解)

Collection接口 :
是单列集合最顶层的接口。
定义了所有单列集合中的共性方法,但是里面没有带索引(下标)的方法。

List 接口 继承(extends) Collection 接口
1、是有序集合(存储和取出的元素相同)。
2、允许存储重复元素。
3、有索引,可以进行循环遍历。

  • ArrayList :底层是数组实现的,查询快,增删慢。线性不安全的。

  • LinkedList :底层是链表实现的,查询慢,增删快。线性不安全的。

  • Vector: 底层也是数组实现的,线性安全的。

Set 接口 继承(extends) Collection 接口
1、不能存储重复元素。
2、没有索引,(不能使用普通的for循环遍历)

  • HashSet :底层是哈希表+红黑树实现的,无索引,不可以存储重复元素,存取无序。

  • LinkedHashSet:底层是哈希表+链表实现的,无索引,不可存储重复元素,但可以保证存取顺序。

  • TreeSet :底层是二叉树实现的。

    上面提到了数组、哈希表、链表、红黑树、二叉树。此时就需要简单知道一下数据结构的概念了。
    常见的数据结构:栈、队列、数组、链表、红黑树、二叉树。

  • 栈 :先进后出

  • 队列:先进先出

  • 数组:查询快(数组的地址是连续的,可以根据索引快速找到某一个元素),增删慢(数组的长度是固定的,删除或增加必须是先创建一个数组,再把源数组的数据复制过来。)。

  • 链表:查询慢(链表中的地址是不连续的,每次进行查询时都是从开头进行查询。),增删快(链表结构的增加和删除对链表的整体结构没有影响,所以增删快)。
    链表分为:单向链表(不保证元素的循序);双向链表(链表中有两条数据,其中一条记录元素的顺序)

  • 二叉树:分支不能超过两个。

  •  排序树:在二叉树的基础上,元素是有大小顺序的,左叶子树小,右叶子树大。
     平衡树:左叶子和右叶子数量相等。
     红黑树:趋近于平衡树,查询的叶子节点最大次数和最小次数不能超过2倍。比如:最小次数是1,那么最大次数不能大于2。
     红黑树的特征:
     	1、节点是红和黑两色。
     	2、根节点必须是黑色的,红色节点的子节点都是黑节点。
     	3、任何一个节点到每个节点的所有路径上的黑色节点数相同。
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Collection集合(集合概念的简单理解及数据结构的简单理解) 的相关文章

  • 变频器的四大组成部分和工作原理

    随着电子技的发展变频器已经有了很大的变化 xff0c 但其基本原理并没有发生改变 变频器的主要部分有四个 xff1a 整流器 中间电路 逆变器 控制电路 1 xff09 整流器 通用变频器的整流电路是由三相桥式整流桥组成 它的功能是将工频电

随机推荐

  • Pytorch中torch的操作合集

    tensor的基本操作 PyTorch系例 torch Tensor详解和常用操作 这里最重要的概念是索引出来的结果与原数据共享内存 xff0c 也即修改一个 xff0c 另一个也会跟着修改 tensor的广播机制 Pytorch xff1
  • torch.tensor 内存共享机制

    tensor属于可变数据类型 xff0c 因此变量的值存储在堆中 xff0c 变量名存储在栈中 xff0c 当进行变量赋值时 xff0c 就是让栈中的变量指向堆 xff0c 如下面代码 xff1a span class token keyw
  • 熵 KL散度 交叉熵的理解

    熵 KL散度 交叉熵的概念 xff1a 理解二分类交叉熵 可视化的方法解释对数损失交叉熵公式推导 xff1a 理解交叉熵作为损失函数在神经网络中的作用熵 KL散度 交叉熵的关系 xff1a KL散度与交叉熵区别与联系训练过程中三者的应用 x
  • Docker数据目录迁移解决方案

    介绍 在docker的使用中随着下载镜像越来越多 xff0c 构建镜像 运行容器越来越多 数据目录必然会逐渐增大 xff1b 当所有docker镜像 容器对磁盘的使用达到上限时 xff0c 就需要对数据目录进行迁移 如何避免 xff1a 1
  • Git 三剑客 ———— git gui 可视化工具

    目录 页面介绍Unstaged changesStaged Changes xff08 Will Commit xff09 File DisplayCommand Set Repository 操作区Edit 操作区Branch 操作区Co
  • 数组对象转json格式

    1 数组转化成JSON对象后 xff0c key值是索引 xff0c value是数组对应的值 数组也可以转化成JSON对象 var jStr3 61 34 10 20 30 40 50 60 34 var j3 61 JSON parse
  • JS——DOM的结点操作

    H5自定义属性 自定义属性目的 目的 xff1a 是为了保存并且使用数据 有些数据可以把保存到页面中而不用保存到数据库 可以通过getAttribute获取 自定义属性 xff1a data 开头 这是一种规范 dataset xff1a
  • SecureCRT连接Linux

    在将SecureCRT连接Linux上时遇到一些问题 xff0c 记录如下 第一步 xff0c 我们要在在linux上安装openssh server服务 xff0c 并确认打开了22监听端口 在linux上操作命令如下 xff1a apt
  • Linux下添加虚拟串口,接收和发送数据

    之前写的那虚拟串口有点问题 xff0c 只能读取 xff0c 不能接收 今天再来改一下 将python的内容改为如下 xff1a 先新建一个文档 xff0c 内容如下 usr bin env python coding 61 utf 8 i
  • fatal: The remote end hung up unexpectedly解决办法

    今天在写完代码后 xff0c 准备提交到GitHub上 xff0c 结果得到了下面的结果 xff0c 记录一下 百度了之后 xff0c 发现大部分是有两种说法 一种是说提交的文件太大 xff0c 解决办法如下 link 一种是说管理员将项目
  • 简单了解几种常见的网络通信协议

    常见的网络协议有 TCP IP协议 UDP协议 HTTP协议 FTP协议 Telnet协议 SMTP协议 NFS协议等 这里主要简述一下前三种协议 一 TCP IP协议 1 什么是TCP IP协议 xff1f TCP IP传输协议 xff0
  • 路径规划算法总结

    路径规划算法 1 Dijkstra算法 从物体所在的初始点开始 xff0c 访问图中的结点 迭代检查 待检查节点集中的节点 xff0c 该节点从初始节点向外扩展 xff0c 直到达到目标节点 xff0c 该算法能够保证找到一条从初始点到目标
  • chmod +x 与chmod 777 的超详细解说

    在linux中使用man命令查看chmod的大纲我们可以得出以下有用的信息 xff1a chmod OPTION MODE MODE FILE chmod OPTION OCTAL MODE FILE chmod OPTION refere
  • 无线路由模块有什么作用?MT76X8系列方案在工业物联网模块中的应用

    说起WiFi路由模块 xff0c 或许有像小编在接触物联网之前一样 xff0c 会想到这是用在路由器产品上的 xff0c 是上网用的 小编在加入bojingnet后 xff0c 接触到物联网WiFi方案定制的各种知识耳濡目染 xff0c 也
  • (深蓝学院)多传感器融合定位作业1

    1 作业描述 请搭好代码环境 xff0c 下载数据集并播放数据集 xff0c 在 rviz 上显示点云 2 数据集下载 Kitti 数据集 xff08 bag xff09 3 实现步骤 3 1 环境搭建 VirtualBox 虚拟机安装 U
  • SLAM--intel realsense2在ORB SLAM2 和 ORB SLAM3下建图和重定位(ubuntu 20.04, opencv 4.2.0 以上)

    用intel 的realsense相机实现orb slam2 和 orb slam3 ubuntu 20 04系统 链接地址 ORB SLAM2 可建图 xff0c github https github com zouyuelin ORB
  • QGC常见故障处理思路图

  • JAVA语言使用的前提,JDK安装,环境变量配置以及简单使用(带图解)。

    JAVA语言使用的前提 xff0c JDK安装 xff0c 环境变量配置以及简单使用 xff08 带图解 xff09 想要使用java语言 xff0c 肯定要先给自己的电脑上安装一个Java语言的翻译官 1 首先我们要下载JDK xff08
  • eclipse工具下载与安装(带图片)

    eclipse工具下载与安装 eclipse官网下载 直接上图 1 1 1 2 1 3 1 4 1 5 1 6 2 1 下载完之后解压到D盘的文件夹中即可 xff0c 解压完成后找到eclipse exe 应用程序 双击运行 2 2 选择文
  • Collection集合(集合概念的简单理解及数据结构的简单理解)

    Collection集合 xff08 简单理解 xff09 Collection接口 xff1a 是单列集合最顶层的接口 定义了所有单列集合中的共性方法 xff0c 但是里面没有带索引 xff08 下标 xff09 的方法 List 接口