Java在算法题中的常用方法

HashSet常用方法:

方法作用返回类型
add(Object o)将指定元素添加到该集合中,成功则返回true(如果集合中尚不存在该元素)boolean
contains(Object o)判断集合中是否存在指定元素boolean
isEmpty()判断集合是否为空boolean
remove(Object o)如果集合中存在指定元素,将其删除,成功则返回trueboolean
clear()删除该集合中所有元素void
size()返回该集合中的元素数量int

HashMap常用方法:

方法作用返回类型
put(K key, V value)将键值对添加到表中,如果 key 在表中有对应的 value,对 value 进行替换,返回旧的 value;如果不存在,则执行插入操作,返回 nullV
putAll(Map m)将指定表中的所有键值对插入到该表中void
get(Object key)获取指定 key 对应的 value,不存在则返回 nullV
getOrDefault(Object key, V defaultValue)获取指定 key 对应的 value,不存在则返回设置的默认值 defaultValuedefault V
replace(K key, V value)替换表中指定 key 对应的 value,返回旧 value,如果不存在则返回nulldefault V
replace(K key, V oldValue, V newValue)仅当指定 key 映射到指定 value 时,才将旧 value 替换为新 value,否则不进行替换,返回 falseboolean
containsKey(Object key)判断表中是否存在指定 key 的映射boolean
containsValue(Object value)判断表中是否存在指定 value 的映射boolean
size()返回该表中的键值对数量int
isEmpty()判断表是否为空boolean
remove(Object key)如果表中存在指定的 key,删除其映射关系void
clear()删除表中的所有键值对void

StringBuilder常用方法:

方法作用返回类型
append(String s)将各种类型参数的字符串形式拼接到序列中,返回拼接后的序列StringBuilder
chatAt(int index)返回指定索引的序列值char
delete(int start, int end)删除此序列中指定的子字符串中的字符,返回操作后的序列,删除[start, end)StringBuilder
deleteCharAt(int index)删除指定索引的序列值,返回操作后的序列StringBuilder
replace(int start, int end, String str)用指定字符串替换此序列中的子字符串,返回操作后的序列,替换[start, end)StringBuilder
setCharAt(int index,char ch)将指定索引的序列值设置为chvoid
insert(int offset, String str)将指定字符串插入此序列,offset为偏移量,在offset处插入,返回操作后的序列StringBuilder
reverse()翻转此序列,返回操作后的序列StringBuilder
toString()返回表示此序列的字符串String

Stack类常用方法:

方法作用返回类型
empty() / isEmpty()检查此堆栈是否为空boolean
push(E item)将项目推送至此堆栈的顶部,将该项目作为返回值E
pop()删除此堆栈顶部的对象,并将其作为返回值E
peek()查看此堆栈顶部的对象,并将其作为返回值E
search(Object o)返回目标对象在此堆栈中的位置,以栈顶元素为基准,基准为1int
size()返回此堆栈中元素的数量int

Deque类常用方法:

方法作用返回类型
addLast(E e) / offerLast(E e)添加元素到队尾void
addFirst(E e) / offerFirst(E e)添加元素到队首void
removeLast() / pollLast()取队尾元素并删除,返回该元素E
removeFirst() / pollFirst()取队首元素并删除,返回该元素E
getLast() / peekLast()取队尾元素,返回该元素E
getFirst() / peekFirst()取队首元素,返回该元素E
remove(Object o)删除从队首开始第一个匹配到的元素o,成功删除返回trueboolean

此外,Deque类还可以用来实现栈,可以代替Stack类,使用pop()peek()push()等方法
栈和队列都推荐使用Deque接口的实现类(ArrayDequeLinkedList),如:

Deque<Integer> stack = new ArrayDeque<>();
Deque<Integer> deque = new LinkedList<>();

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

CVE-2024-4956实战

一、访问网页 二、公司信息域名收集 三、抓包读取敏感文件 Burpsuite抓包&#xff0c;修改GET请求即可&#xff08;GET /%2F%2F%2F%2F%2F%2F%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd HTTP/1.1 &#xff09;

网工想提升,不止华为HCIE这一个证书

作为网络工程师&#xff0c;拥有一张HCIE&#xff08;华为认证互联网专家&#xff09;无疑是职业生涯中的一项重要成就&#xff0c;但网络技术的世界远比一张证书要复杂得多。提升自己的技术水平&#xff0c;不仅要依赖HCIE这一张证书&#xff0c;更可以通过学习其他认证&#…

现在的大模型榜单,真就没一个可信的,真的都是水分

现在的大模型榜单上&#xff0c;真的都是水分。 全是作弊的考生&#xff0c;真的。 上周&#xff0c;AI圈有个很炸裂的大模型发布&#xff0c;在全网引起了山呼海啸&#xff0c;一众从业者和媒体尊称它为开源新王。 就是Reflection 70B。 在每项基准测试上都超过了 GPT-4o&a…

printf 命令:格式化输出

一、命令简介 ​printf​ 命令在 Linux 系统中用于格式化并打印字符串到标准输出。它是 C 语言中 printf ​函数的命令行版本&#xff0c;因此其格式化选项与 C 语言中的非常相似。 相关命令&#xff1a; echo&#xff1a;通常使用 echo&#xff0c;它比较简单。printf&…

FastAPI开发环境搭建——开发第一个web程序

FastAPI开发环境搭建——开发第一个web程序 搭建开发环境 FastAPI官方文档学习 - FastAPI (tiangolo.com) 安装fastapi框架 pip install fastapi[all] pip install uvicorn使用对应IDE创建fastapi项目&#xff0c;例如pycharm,vscode和创建普通的python项目无差别 创建一个…

Solidity编码规范汇总篇

本文首发于公众号 【Keegan小钢】 上周&#xff0c;完成了 Solidity 编码规范的视频录制并上传到了 B 站、Youtube 和视频号。总共分为了 6 个小节&#xff0c;在 B 站的合集地址为&#xff1a; https://space.bilibili.com/60539794/channel/collectiondetail?sid3780183 为…

【ASE】第一课_双面着色器

今天我们一起来学习ASE插件&#xff0c;希望各位点个关注&#xff0c;一起跟随我的步伐 今天我们来学习双面着色器&#xff0c;对颜色和贴图进行差值&#xff0c;双面显示不同的效果 最终效果&#xff1a; 思路&#xff1a; 1.先确定前后面的贴图和颜色 贴图&#xff08;Alb…

高效工程师的七个习惯

原文 我曾与一些杰出的工程师共事过 – 在诸如 FAANG 的大公司&#xff0c;也在初创规模的小公司。他们让我看到&#xff0c;传说中的「10 倍」工程师&#xff0c;真实存在&#xff01; 如今&#xff0c;这些工程师中&#xff0c;有些人后来创办了自己的公司&#xff0c;他们…

kmp快速匹配

用处&#xff1a;对于一个较长的字符串A&#xff0c;判断A中是否存在字符串B。 思路&#xff1a; 暴力的做法是从A的每个元素开始&#xff0c;依次比较看是否有和B相同的子串&#xff0c;时间复杂度是o&#xff08;N*N&#xff09; 优化思路是对于每次查找完成以后&#xff…

springboot+vue宠物医院挂号看病诊断系统 f9h46

目录 宠物主人宠物医生系统管理人员系统实现截图技术介绍核心代码部分展示详细视频演示源码获取 宠物主人 登录注册&#xff1a;注册账户并登录系统。 首页&#xff1a;显示系统基本信息和用户导向功能。 个人中心&#xff1a;更新个人信息&#xff0c;包括联系方式、密码等。…

【AI创作组】工程方向的硕士研究生学习Matlab的路径

1. MATLAB软件概述 1.1 MATLAB发展历程 MATLAB自20世纪70年代诞生以来,已经经历了多次重要的版本更新和功能扩展。 初始版本:MATLAB的前身只是一个简单的交互式矩阵计算器,由Cleve B. Moler博士在1970年代初期开发,目的是为了方便学生和研究人员使用线性代数软件包LINPAC…

农业与植物基因组分析专家—优青博导提供从实验设计、数据分析到SCI论文咨询的一站式服务。多年经验,精准高效,为农业科研保驾护航!

&#x1f31f; 教授团队领衔&#xff0c;全方位服务&#xff01; &#x1f680; 从实验设计到论文发表&#xff0c;一站式解决方案&#xff01; &#x1f4c8; 选择我们&#xff0c;加速您的科研进程&#xff0c;让成果不再等待&#xff01; &#x1f4dd; 专业分析 定制服…

ubuntu安装gitlab-runner

目录 1.添加gitlab 仓库地址 ​编辑2. 安装gitlab-runner命令 1.添加gitlab 仓库地址 curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | sudo bash2. 安装gitlab-runner命令 sudo apt-get install -y gitlab-ru…

Python3爬虫教程-HTTP基本原理

HTTP基本原理 1&#xff0c;URL组成部分详解2&#xff0c;HTTP和HTTPS3&#xff0c;HTTP请求过程4&#xff0c;请求&#xff08;Request&#xff09;请求方法&#xff08;Request Method&#xff09;请求的网址&#xff08;Request URL&#xff09;请求头&#xff08;Request H…

招联金融内推(深圳武汉大量招后端、算法)---2025秋招内推

【投递方式】 直接扫下方二维码&#xff0c;或点击内推官网https://wecruit.hotjob.cn/SU61025e262f9d247b98e0a2c2/mc/position/campus&#xff0c;使用内推码 igcefb 投递&#xff09; 【招聘岗位】 后台开发 前端开发 数据开发 数据运营 算法开发 技术运维 软件测试 产品策…

HubSpot一站式增长平台,让获客变得超简单

在这片浩瀚的商业海洋中&#xff0c;每一位企业家都是一位勇敢的航海家&#xff0c;驾驶着自己的船只&#xff0c;追逐着心中的梦想与远方。然而&#xff0c;风浪无情&#xff0c;竞争激烈&#xff0c;如何才能确保你的航程既平稳又快速&#xff1f;HubSpot&#xff0c;正是那位…

宠物去浮毛救星?希喂、小米、霍尼韦尔宠物空气净化器哪款好用

怎么有人放假也不开心&#xff1f; 快到的国庆假期真是愁死我了...本来我妈国庆去旅游&#xff0c;我就打算不回家&#xff0c;和我家猫过二人世界。结果突然有事&#xff0c;我妈取消出行&#xff0c;改成让我假期回家陪她。我回家容易&#xff0c;我家猫回去可难啊&#xff…

【C++】拆分详解 - string类

文章目录 一、为什么学习string类&#xff1f;二、标准库中的string类  1. 定义  2. 常用接口说明     2.1 构造     2.2 容量操作     2.3 访问及遍历操作     2.4 修改操作     2.5 非成员函数 三、OJ练习自测  [1. 仅仅反转字母](https://leetcod…

基于DeepFace深度学习模型的离线版人脸识别API接口实现(类似百度在线API接口)

一 背景 人脸识别技术经过数年的发展&#xff0c;在技术算法、识别性能、应用场景以及隐私保护和数据安全等方面都取得了显著的进步和成熟。 应用场景 门禁系统&#xff1a; 在门禁系统中&#xff0c;离线人脸识别可用于身份验证&#xff0c;用户只需站在摄像头前&#xff0…

明明没违规,应用还是被判恶意软件?可能是这些原因

作为Google Play上架应用的开发者&#xff0c;大家的普遍感受&#xff1a;比起写代码&#xff0c;上架的过程简直更让人心力交瘁&#xff01;特别是涉及用户数据和隐私保护的时候&#xff0c;稍有疏忽&#xff0c;就可能面临应用被下架、甚至账号被封的风险。 最近听到很多开发…