集合框架之Connection(马士兵教育视频教程总结笔记)

2023-11-20

when to use:

当不知道程序运行时会需要多少对象,或者需要以更复杂的形式来储存对象时,可以使用java集合框架。(e.g. 假定学员数)
在这里插入图片描述

  • 接口(4个:Collection\ List\ Set \ Map)
    : (1)Collection单值
    : List : ArrayList\ LinkedList (子类实现)
    在这里插入图片描述
    : Set : HashSet \ TreeSet
    : (2)Map : 键-值对形式(key-value)
    : HashMap
    : TreeMap
    工具类Collections提供了对集合进行排序、遍历等多种算法实现
  • 具体类
  • 算法
  • Vector(也是List接口的一个子类实现,数据结构也为数组)同ArrayList的区别:
    在这里插入图片描述
    (1)在这里插入图片描述在这里插入图片描述
    (2)ArrayList线程不安全,但效率高;

JUC: java.util.concurrent —— 并发时用到

Collection接口:
子接口:
List(ArrayList,LinkedList,不唯一,有序),
Set(HashSet,TreeSet,唯一,无序,无get(),set()方法)
常用的api方法:
增 add(), addAll()
删 remove(), clear()(清空,不删除对象), removeAll()
改 set(index, element)
查 contains(), get(), subList(),ListIterator…
注意:每个方法来源于哪个父类

  • ArrayList——在这里插入图片描述
  • LinkedList——在这里插入图片描述在这里插入图片描述
  • HashSet——
    在这里插入图片描述
  • TreeSet——
    在这里插入图片描述

迭代器:

Iterator:(不能边更改边遍历,并发操作错误,采用ListIterator可避免——通过cursor、lastRet=-1实现)
在这里插入图片描述
Iterable: 接口。
增强for循环
(推荐,因while内的变量作用域为类,而for内的变量作用域仅循环内部)

比较器:

当存储某些元素的时候,需要对集合中的元素进行排序,此时需要比较器。

  • 内部比较器:Comparable
  • 外部比较器:Comparator (推荐)

泛型:

<K,E,V> // K_ key , E_elements , V_values

  • 泛型类
  • 泛型接口
  • 泛型方法
  • 泛型上下限(工作中使用较少,但看源码会经常看到,需理解)

数据结构:

ArrayList
数据结构为数组(遍历速度快,但删除、插入慢:前面/后面的对象需进行移位)
在这里插入图片描述

LinkedList
数据结构为链表(单向列表,或双向列表,删除、插入快,但遍历慢)
(1)单向链表——(遍历需挨个往下)在这里插入图片描述
(2)双向链表——可以从前往后也可以从后往前在这里插入图片描述

哈希表:(链表+数组形式,头插法: 图片转载
哈希表
红黑树:
在这里插入图片描述

个人理解:

查找多个数据时——引入倒置的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

集合框架之Connection(马士兵教育视频教程总结笔记) 的相关文章

  • Collection集合类和Map接口各实现类详解

    Java的集合类 collection接口和Map 一 集合概述 集合 集合是java中提供的一种容器 可以用来存储多个数据 集合和数组既然都是容器 它们有啥区别呢 数组的长度是固定的 集合的长度是可变的 数组中存储的是同一类型的元素 可以
  • 前端基础自查

    目录 h5和css3的认知 data v 03da18b4 http部分 前端HTTP优化 网页有哪些部分 服务器渲染 跨域 栅格式布局 阻止冒泡的方法 jq的认知 移动端的适配 不同尺寸屏幕 适配不同浏览器 大屏适配 设计稿 数组重复去重
  • 队列基础使用示例与通过队列实现线程通信

    目录 一 队列基础解释 二 ConcurrentLinkedDeque 并发非阻塞式队列 三 BlockingQueue 阻塞队列 ArrayBlockingQueue LinkedBlockingQueue PriorityBlockin
  • Python入门学习01

    基础 输出 输出语句print print 输出语句 输出函数 1 在控制台输出一段文本信息 用一对英文双引号标记 print 文本信息 默认换行 2 print 文本信息 end 结尾 n 换行符 t 制表符 3 print 文本信息1
  • Unity Mecanim动画系统 之 解决模型有些动画播放后发生的位置、方向偏转 (根骨骼动画)的问题

    Unity Mecanim动画系统 之 解决模型有些动画播放后发生的位置 方向偏转 根骨骼动画 的问题 目录 Unity Mecanim动画系统 之 解决模型有些动画播放后发生的位置 方向偏转 的问题 一 简单介绍 二 实现原理 三 效果预
  • JQ开发中遇到的问题(一)

    目录 目录 1 收藏与取消收藏切换 2 使用layui插件下拉选择渲染问题 1 收藏与取消收藏切换 说明 从接口中获取收藏状态 单击切换状态 如下图所示 开始状态 点击后状态 代码实现 1 全局定义一个变量 记录状态 var collect
  • Numpy--布尔索引

    布尔索引 布尔索引是通过相同数组上的True还是False来进行提取的 提取的条件可以有多个 那么如果有多个 可以使用 来代表且 用来代表或 如果有多个条件 那么每个条件要使用圆括号括起来 布尔运算也是矢量的 比如以下代码 a1 np ar
  • 关于protected权限的子类访问方式

    声明为protected权限的成员变量和成员方法 可以被同一包中的所有类和不同包中的子类访问 但是 在实际使用中 不同包中的子类要访问父类中protected权限的成员 却不是那么随意的调用 看几个例子 首先在ch13Test包中定义父类A
  • 黑马程序员———类加载器

    Java培训 Android培训 iOS培训 Net培训 期待与您交流 Java虚拟机中可以安装多个类加载器 系统默认三个 主要类加载器 每个类负责加载特定位置的类 BootStrap ExtClassLoader AppClassLoad
  • wchar_t 、UTF-8、UTF-16的转换方法

    继续编码转换 Unicode 有两套编码集 UCS 2 和 UCS 4 Windows 的内部其实是用的 UCS 2 标准 并用 UTF 16 来实现 而非 Windows 系统大多采用了 UTF 8 实现 大家都知道在windows上wc
  • Method的invoke方法初步了解

    Java调试过程中 我们有时候会需要对JVM运行过程中哪出了问题进行调试 先从最基础的了解 我们都知道Java框架中方法的调用基本上都是通过反射机制来实施的 具体流程如下 1 方法的调用先检查AccessibleObject的overrid
  • 【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(九)

    整理不易 希望对各位学习软件测试能带来帮助 软件测试知识持续更新 第八章 自动化测试高级应用 第一节 自动发邮件功能 8 1 1 文件形式的邮件 8 1 2 HTML 形式的邮件 8 1 3 获取测试报告 8 1 4 整合自动发邮件功能 第
  • ssh-keygen 常用命令与参数

    ssh keygen 常用命令与参数 生成密钥 默认生成 2048 位 RSA 密钥 ssh keygen 生成 4096 位 RSA 密钥 ssh keygen t rsa b 4096 生成 521 位 ECDSA 密钥 ssh key
  • ZooKeeper 分布式协调工具

    目录 一 ZooKeeper 概述 二 ZooKeeper Windows 单机版安装 三 ZooKeeper 集群环境下选举过程 四 ZooKeeper 存储数据的过程 五 ZooKeeper 监听 六 java 操作 ZooKeeper
  • 牛客每日刷题

    作者简介 我是18shou 一名即将秋招的java实习生 个人主页 18shou 系列专栏 牛客刷题专栏 在线刷题面经模拟面试 目录 题目 思路 题解 题目 给定一个长度为 n 的字符串 请编写一个函数判断该字符串是否回文 如果是回文请返回
  • java file类总结

    直入正题 代码 自己可以复制去看 里面主要 介绍了文件的File类的新建 删除 重命等操作 以及File文件的属性方法 package com gx iodemo import java awt BufferCapabilities Fli
  • 深入理解计算机系统 --- 链接

    本章目的 提供了关于链接各方面的全面讨论 从传统静态链接到加载时的共享库的动态链接 以及到运行时的共享库的动态链接 链接 linking 是将各种代码和数据片段收集并组合成一个单一文件的过程 这个文件可被加载 复制 到内存被并执行 链接可以
  • 数组--二维数组

    JAVA的二维数组 二维数组 在二维数组中的每一个元素中都是一个一维数组 意思就是两个一维数组相嵌套而成的数组 二维数组的声明 有一下两种 int a int a 在声明时 一般推荐第一种情况 方便代码阅读 二维数组在创建时也要给定数组的长
  • JS函数(二)基础 return 返回值

    创建函数 function 函数名 形参变量列表 函数体 return 返回值 return 1 什么是 返回 return语句将终止当前函数并返回当前函数的值 2 为什么要用 我们先来看一组代码
  • Unity中实现倒计时的几种方式

    1 Time time using UnityEngine public class TimeTest MonoBehaviour public float secound 10 void Update Timing private flo

随机推荐

  • android调用系统指纹设置页面录入指纹

    在做指纹登录时 有时候会遇到设备并未录入指纹 需要提示用户去开启 如果需要自动跳转到系统的指纹设置页面 录入指纹 那就需要调用系统组件 由于google加入指纹支持是在6 0 而国内很多厂商很早便加入了指纹支持 所以在这方面碎片化很严重 需
  • 火影手游为什么服务器维护,火影忍者手游安装失败解决方法 游戏闪退进不去怎么办...

    本文4399阿尔法将告诉大家火影忍者手游安装失败的原因以及解决方法 还会告诉大家游戏闪退进不去怎么办等等 下面就跟着小编一起来看看吧 gt gt gt gt gt 更多游戏攻略 进入4399火影忍者手游专区 lt lt lt lt lt 问
  • 65nm芯片流片费用_每年流片超40款客户芯片,国内第一的IP供应商芯原科创板上市获受理...

    文 Lee 图源 网络 集微网消息 9月20日 上交所受理了芯原微电子 上海 股份有限公司 以下简称 芯原 科创板上市申请 芯原选择的上市标准为 科创板上市规则 2 1 2中的第 四 项 预计市值不低于人民币30亿元 且最近一年营业收入不低
  • vscode配置clangd和clang-format

    vscode安装和配置 如何安装和配置vscode以搭建c 开发环境 可以查看我的另一篇博客 Windows上最轻量的vscode C 开发环境搭建 在这篇博客中 详细介绍了如何安装vscode以及应该安装哪些插件 这里不再赘述 vscod
  • 第14届蓝桥杯C++B组省赛

    文章目录 A 日期统计 B 01 串的熵 C 冶炼金属 D 飞机降落 E 接龙数列 F 岛屿个数 G 子串简写 H 整数删除 I 景区导游 J 砍树 今年比去年难好多 Update 2023 4 10 反转了 炼金二分没写错 可以AC了 U
  • 1051. 复数乘法 (15)

    复数可以写成 A Bi 的常规形式 其中A是实部 B是虚部 i是虚数单位 满足i2 1 也可以写成极坐标下的指数形式 R e Pi 其中R是复数模 P是辐角 i是虚数单位 其等价于三角形式 R cos P isin P 现给定两个复数的R和
  • 【机器学习】【逻辑回归】Logistic函数/Sigmoid函数的详细公式推导

    sigmoid函数的数学公式 sigmoid函数的因变量x取值范围是 到 但是sigmoid函数的值域是 0 1 不管x取什么值其对应的sigmoid函数值一定会落到 0 1 范围内 漂亮的logistic 曲线 sigmoid函数对应的图
  • Python timeit模块的使用

    Python timeit模块的使用 Python 中的 timeit 模块可以用来测试一段代码的执行耗时 如一个变量赋值语句的执行时间 一个函数的运行时间等 timeit 模块是 Python 标准库中的模块 无需安装 直接导入就可以使用
  • java readvalue_Java XmlMapper.readValue方法代碼示例

    本文整理匯總了Java中com fasterxml jackson dataformat xml XmlMapper readValue方法的典型用法代碼示例 如果您正苦於以下問題 Java XmlMapper readValue方法的具體
  • CUDA流任务并行

    CUDA流表示一个GPU操作队列 并且该队列中的操作将以指定的顺序执行 可以将每个流视为GPU的一个任务 并且这些任务可以并行执行 即相同流顺序执行 不同流并行执行 不同流并行执行时不同流所要执行的任务要没有依赖关系 当不手动创建流时 cu
  • Jmeter篇之beanshell加密和解密(SM2)

    需求 明文传参 对请求进行加密调用后台接口 后端返回密文响应结果 对返回结果进行解密 需求分析 1 参数明文填写入参 2 发送请求前对明文进行加密 加密后调用后台接口 3 后端返回密文响应结果 4 对响应结果进行解密 操作 1 打开jmet
  • Latex各种矩阵的输入方法

    代码顺序同上顺序 导言区 documentclass ctexart usepackage amsmath 正文区 begin document begin Bmatrix 1 2 4 5 end Bmatrix begin matrix
  • openGLSL从0开始学习

    首先 找了些优秀的学习网站 openGLSL https learnopengl cn github io https www khronos org files opengles shading language pdf 双缓冲 Doub
  • saltstack使用指南:编写自己的模块代码

    saltstack编写自己的模块代码 1 saltstack远程执行的底层原理 2 执行模块的组成结构 3 编写自己的执行模块函数 4 交叉调用salt自带的模块函数 5 实战编写一个完整的模块 一 saltstack远程执行的底层原理 s
  • [Vue warn]: Error in created hook: "TypeError: handler.call is not a function"

    此问题为调用中生命周期钩子函数引起来的错误 解决办法为 生命周期钩子函数 是否有未定义方法 还是 声名了空的钩子函数 另外
  • Ubuntu 安装指定版本 python

    场景 在构建 docker 镜像的时候为了与 TensorFlow Pytorch 或者其他程序能兼容使用 需要安装指定版本的 python 常用的安装命令 apt get 有时候不能很 精确 指定 甚至是找不到源 隔山修路 遇水搭桥 py
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • PowerVR开发工具和SDK 2020 Release 1发布啦!

    期待已久的PowerVR开发工具和SDK 2020年的第一个发行版本终于面市了 尽管面临来自世界各地的挑战 DevTech团队一直在努力工作 为整个市场提供最好的图形开发工具 任何想体验我们开发工具最新版本的用户请直接点击下方链接 下载Po
  • C语言打印数据的二进制格式-原理解析与编程实现

    问题引出 C语言中 在需要用到16进制数据的时候 可以通过printf函数的 x格式打印数据的16进制形式 在某些位标记 位操作的场合 需要用到2进制格式的数据 但printf函数不能输出2进制格式 虽然可以通过使用itoa或 itoa的方
  • 集合框架之Connection(马士兵教育视频教程总结笔记)

    when to use 当不知道程序运行时会需要多少对象 或者需要以更复杂的形式来储存对象时 可以使用java集合框架 e g 假定学员数 接口 4个 Collection List Set Map 1 Collection单值 List