Java中的集合相关知识汇总

总结

  1. Java集合 从数据结构可以分为:数组、Set、Map、队列、栈;
  2. 从多线程安全可以分为线程安全与非线程安全的集合
  3. 从关联关系可以总结如下(不包含多线程安全类):
    在这里插入图片描述

点线框表示接口; 折线框表示抽象类; 实线框表示实现类;

列表

列表是存储有序的元素,元素可以重复,并且可以存null

关键方法

// 在列表最后增加一个元素e
boolean add(E e);
// 根据传入的排序规则进行排序
default void sort(Comparator<? super E> c);
// 获取指定index的元素
E get(int index);
// 移除指定O 参数命中的第一个元素
boolean remove(Object o);

具体实现类与区别

  • ArrayList:线程不安全,查询速度快
  • Vector:线程安全,但速度慢(要实现线程安全建议CopyOnWriteArrayList
  • LinkedList: 链表实现,增删速度快
  • CopyOnWriteArrayList,多线程安全列表,原理是:通过“写时复制”(Copy-On-Write)的机制(并且使用ReentrantLock加锁)来实现线程安全

Set

元素是无序的,且唯一不可重复的,Set 的实现原理是Map的Key来实现的

关键方法

// 判断是否包括对象o
boolean contains(Object o);
// 往set中传入对象e,如果set原不包含e,则返回true
boolean add(E e);
// 移除对象o,如果Set包含对象o,则返回true
boolean remove(Object o);
// 取当前Set与集合c的交集,发生更改则为true
boolean retainAll(Collection<?> c);

具体实现类与区别

  • HashSet,底层实现是HashMap,最常用的Set,注意如果是自定义的数据结构,一定要按要求实现equalshashCode方法。
  • TreeSet,底层实现是TreeMap,TreeSet是有序的,所以传入元素要么继承Comparable,要么传入Comparator的具体实现,底层是红黑树的实现,几个关键方法都是log(n)的时间复杂度

Map

队列

迭代器

废弃的Vertor和stack

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【只出现一次的数字 III】python刷题记录

R2-位运算专题. 目录 哈希表 位运算 ps: 一眼哈希表啊 哈希表 class Solution:def singleNumber(self, nums: List[int]) -> List[int]:dictdefaultdict(int)ret[]for num in nums:dict[num]1for key in dict.keys():if dict[key]1:ret.append(key)return ret怎么用位…

[C++][STL源码剖析] 详解AVL树的实现

目录 1.概念 2.实现 2.1 初始化 2.2 插入 2.2.1 旋转&#xff08;重点&#xff09; 左单旋 右单旋 双旋 2.❗ 双旋后&#xff0c;对平衡因子的处理 2.3 判断测试 完整代码&#xff1a; 拓展&#xff1a;删除 1.概念 二叉搜索树虽可以缩短查找的效率&#xff0c;但…

Jeecgboot仪表盘设计器使用https时访问报错

问题 仪表盘设计器设计好后&#xff0c;Nginx配置域名发送https请求时&#xff0c;/drag/page/queryById、/drag/page/addVisitsNumber仍发送http请求。导致发送下面错误&#xff1a; 原因 仪表盘设计器里设计的页面是由后端生成返回给前端的&#xff0c;后端是根据后端服…

java算法day27

java算法day27 动态规划初步总结509 斐波那契数杨辉三角打家劫舍完全平方数 动态规划初步总结 如果你感觉某个问题有很多重叠子问题&#xff0c;使用动态规划是最有效的。 动态规划的过程就是每一个状态一定是由上一个状态推导出来的&#xff0c;这一点就区分于贪心了。贪心是…

mysql死锁排查

Mysql 查询是否存在锁表有多种方式&#xff0c;这里只介绍一种最常用的 1、查看正在进行中的事务 SELECT * FROM information_schema.INNODB_TRX 2、查看正在锁的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 3、查看等待锁的事务 SELECT * FROM INFORMATION_SCHEMA.I…

视频VIP收费会员播放帝国CMS模板HTML5自适应手机多种运营模式

采用帝国CMS最新版核心制作&#xff0c;自适应响应式手机平板浏览&#xff0c;手机浏览器非常舒服哦&#xff01;多种运营模式。用户中心逻辑和页面&#xff0c;都已经制作完整&#xff0c;可以搭建后稍微修改即可使用&#xff01; 模板特点&#xff1a; 支持多集和单集播放&…

Kafka动态授权认证:利用SASL/SCRAM机制提升安全性

摘要 Apache Kafka是一个流行的分布式流处理平台&#xff0c;其安全性对于保护数据传输至关重要。SASL/SCRAM&#xff08;Simple Authentication and Security Layer/Salted Challenge Response Authentication Mechanism&#xff09;是一种认证机制&#xff0c;可以为Kafka集…

从华为出走的工控龙头,豪横收购法国顶尖软件龙头~

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 近日&#xff0c;业界传来震撼消息&#xff0c;华为系企业汇川科技正式宣布&#xff0c;已完成对法国顶尖工业软件企业Irai的全资收购。 这一战略…

【LLM】-12-部署Langchain-Chatchat-0.3.x版本

目录 1、0.3与0.2的功能对比 2、0.3.x支持多种部署方式 2.3、源码安装 2.3.1、项目源码下载 2.3.2、创建conda环境 2.3.3、安装poetry 2.3.4、安装依赖库 2.3.5、项目初始化 2.3.6、初始化知识库 2.3.7、启动服务 2.3.8、配置说明 2.3.8.1、basic_settings.yaml 2…

一馆多用,四季皆宜:气膜体育馆的优势与应用—轻空间

促进城市体育发展 装配式气膜体育馆以其便捷的安装、灵活的使用和多功能性&#xff0c;迅速在全国范围内得到推广。这种体育场馆不仅适用于篮球、羽毛球、网球等传统室内运动&#xff0c;还能根据需要灵活改造成游泳馆、滑冰场等特殊场地。这种多功能性使得气膜体育馆在城市中得…

甄选范文“论数据分片技术及其应用”软考高级论文,系统架构设计师论文

论文真题 数据分片就是按照一定的规则,将数据集划分成相互独立、正交的数据子集,然后将数据子集分布到不同的节点上。通过设计合理的数据分片规则,可将系统中的数据分布在不同的物理数据库中,达到提升应用系统数据处理速度的目的。 请围绕“论数据分片技术及其应用”论题…

【ThingsBoard初体验】本地运行源码踩坑记录

前言 运行源码之前&#xff0c;请先编译源码。这很重要&#xff01;&#xff01;&#xff01; 官网源码编译教程&#xff1a;http://www.ithingsboard.com/docs/user-guide/contribution/yuanmabianyi/ 如果编译过程中出现报错&#xff0c;请看我上一篇文章&#xff1a;【Thing…

使用ssh-remote连接远程vscode运行yolo项目时的一点坑

使用ssh-remote连接远程vscode运行yolo项目时的一点坑 1.坑1 因为我是直接下载的release包&#xff0c;然后运行 pip install -e .来下载依赖的&#xff0c;那么这个时候需要使用YOLO时都需要在下载的release文件的目录下的py文件才能生效 比方说我下载的yolov8(ultralytic…

从功能出发:优化超市商品陈列,助力销售额提升

随着时代的发展&#xff0c;竞争的加剧&#xff0c;人们的生活节奏加快&#xff0c;时间观念越来越强。在这种情形下&#xff0c;作为超市&#xff0c;怎样为顾客提供一个舒适方便的购物环境&#xff0c;尽可能让顾客逛完整个卖场&#xff0c;满足一站式购足呢&#xff1f;除了…

[PM]面试题-工作问题

画一个原型需要多久?写一篇PRD文档需求多久? 时间长短取决于项目规模和业务难度, 规模大难度高,就要花费很长的时间, 规模下难度低时间就短, 一般来说, 1-2周的时间就可以完成原型和RED文档 市场需求文档写什么? 从打到下进行编写, 大的方面以市场为主体,包括市场规模, 发…

【中项】系统集成项目管理工程师-第9章 项目管理概论-9.1PMBOK的发展与9.2项目基本要素

前言&#xff1a;系统集成项目管理工程师专业&#xff0c;现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试&#xff0c;全称为“全国计算机与软件专业技术资格&#xff08;水平&#xff09;考试”&…

智能优化算法(三):遗传算法

文章目录 1.问题描述2.遗传算法2.1.算法概述2.2.编码操作2.3.选择操作2.4.交叉操作2.5.变异操作2.6.算法流程 3.算法实现3.1.MATLAB代码实现3.2.Python代码实现 4.参考文献 1.问题描述 \quad 在利用启发式算法求解问题时&#xff0c;我们常常需要应用遗传算法解决函数最值问题&…

计算计中的推理与调用

计算计是一个新的概念&#xff0c;它强调了计算与谋算&#xff08;算计&#xff09;的融合和互动过程。这个概念指的是在现代科技和商业环境中&#xff0c;越来越多地将计算能力与战略性思维结合起来&#xff0c;以解决复杂问题、优化决策和实现目标。具体来说&#xff0c;计算…

vue3组件通信(一)

组件通信 一.props(父<>子)二.自定义事件&#xff08;子>父&#xff09;三.mitt(实现任意组件通信)四.v-model(父<>子)(1).v-model的本质(2).组件标签中v-model的本质(3).$event到底是什么 概况 一.props(父<>子) 使用频率最高 若 父传子&#xff1a;属性…

红酒标签设计:艺术与品味的结合

在红酒的世界里&#xff0c;每一瓶酒都如同一位优雅的舞者&#xff0c;在酒柜的舞台上静静诉说着自己的故事。而红酒的标签&#xff0c;则是这位舞者身上较华丽的舞裙&#xff0c;它不仅是红酒的身份证明&#xff0c;更是艺术与品味的很好结合。今天&#xff0c;我们就来聊聊红…