集合详解之(三)单列集合接口Set及具体子类HashSet、TreeSet
文章目录
- 🐒个人主页
- 🏅JavaSE系列专栏
- 📖前言:
- 🎀Set集合接口
- 🎀HashSet实现类
- 🎀TreeSet实现类
- 🪅HashSet类常用方法:
- 🪅TreeSet类常用方法:
🐒个人主页
🏅JavaSE系列专栏
📖前言:
本篇博客主要以介绍Set集合以及其两个具体子类HashSet、TreeSet的用途和常用方法
🎀Set集合接口
Set接口是Collection的子接口,Set集合不按照插入元素的顺序,Set 集合不允许包含相同的元素,拥有自动去重功能,不支持下标调用;此外,Set集合可以与List集合相互转化~,Set集合底层实际上是Map集合中的键所组成的单列集合。
🎀HashSet实现类
HashSet集合不按照插入元素的顺序排序,而是以元素哈希值的大小来排序,自动实现去重功能。HashSet集合底层实际上是HashMap集合中的键所组成的单列集合。
🎀TreeSet实现类
HashSet集合不按照插入元素的顺序排序,而是以自然数顺序的大小来排序,自动实现去重功能。TreeSet集合底层实际上是TreeMap集合中的键所组成的单列集合。
🪅HashSet类常用方法:
| 构造方法 | 方法内容介绍 |
|---|---|
| HashSet(单列集合C) | 📖【把单列集合C转为HashSet集合,去重,根据其元素的哈希值进行排序】 |
常用方法 | 方法内容介绍 |
boolean add(E e) | 📖【父类方法:向集合尾部添加元素】 |
void clear() | 📖【父类方法:清空集合】 |
boolean contains(Object o) | 📖【父类方法:集合是否包含o】 |
boolean isEmpty() | 📖【是否为空】 |
| Iterator iterator() | 📖【返回此集合中元素的迭代器】 |
| boolean remove(Object o) | 📖【如果存在,则从该集合中删除指定的元素】 |
| int size() | 📖【元素个数】 |
🪅TreeSet类常用方法:
| 构造方法 | 方法内容介绍 |
|---|---|
| TreeSet(单列集合C) | 📖【把单列集合C转为TreeSet集合,根据其元素的自然排序进行排序】 |
常用方法 | 方法内容介绍 |
boolean add(E e) | 📖【父类方法:向集合尾部添加元素】 |
boolean addAll(Collection<? extends E> c) | 📖【可以直接添加一个单列集合】 |
E ceiling(E e) | 📖【返回此集合中>=e的最小元素,如果没有此元素,则返回 null 】 |
E floor(E e) | 📖【返回此集合中<=e的最大元素,如果没有这样的元素,则返回 null 】 |
E higher(E e) | 📖【返回此集合中>e的最小元素,如果没有此元素,则返回 null 】 |
E lower(E e) | 📖返回此集合中<e的最大元素,如果没有这样的元素,则返回 null 】 |
void clear() | 📖【父类方法:清空集合】 |
boolean contains(Object o) | 📖【父类方法:集合是否包含o】 |
E first() | 📖【返回集合第一个元素–最小值】 |
E last() | 📖【返回集合最后一个元素–最大值】 |
boolean isEmpty() | 📖【是否为空】 |
Iterator iterator() | 📖【返回此集合中元素的迭代器】 |
int size() | 📖【元素个数】 |
E pollFirst() | 📖【拿到并删除第一个(最小)元素,如果该集合为空返回 null】 |
E pollLast() | 📖【拿到并删除最后一个(最大)元素,如果该集合为空返回null】 |
boolean remove(Object o) | 📖【如果存在,则从该集合中删除指定的元素】 |
相关文章:
集合详解之(三)单列集合接口Set及具体子类HashSet、TreeSet
文章目录🐒个人主页🏅JavaSE系列专栏📖前言:🎀Set集合接口🎀HashSet实现类🎀TreeSet实现类🪅HashSet类常用方法:🪅TreeSet类常用方法:ὁ…...
力扣刷题笔记22—— 矩阵中的路径(回溯)/pair的学习
矩阵中的路径(回溯)/pair的学习问题分析示例代码pair学习问题 来自力扣: 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按…...
Spring学习1
一、Spring简介 Spring翻译过来就是春天的意思,其实也就是给软件行业带来了春天2002年,首次推出Spring框架的雏形,interface21框架Spring框架就是以interface21框架为基础,经过重新设计,并不断丰富,在2004年…...
Keep再闯IPO,三年亏损16亿,会员留存率跌破70%
“运动科技第一股”来了? 3月28日,线上健身平台的运营方、北京卡路里科技有限公司(下称“Keep”)更新招股书,再次闯关港股IPO。 Keep是一家在线健身平台,主要产品包括在线健身内容、智能健身设备和配套运…...
软件测试分类详解
一图看清软件测试分类 一、按测试技术分(是否查看代码) **1. 黑盒测试**:软件功能是否正常使用【功能的测试】 **2. 白盒测试**:代码逻辑是否正确【结构的测试】 **3. 灰盒测试**:介于两者之间的测试,也…...
网站怎么优化出排名
网站怎么优化出排名,独立站SEO优化应该怎么做?#独立站#推广优化#SEO优化 今天跟大家聊一下独立站的SEO,是指个人或者小型的企业对独立站进行一个优化,以提高他在搜索引擎中的排名和流量,从而吸引更多的这个客户和用户。…...
h5|web页面嵌套iframe传参给cocosCreator
h5|web页面嵌套iframe传参给cocosCreator 目录 一、快速浏览 二、详细实现与项目代码 三、安全性评估——iframe 实现效果: 一、快速浏览 在h5页面中,使用JavaScript获取需要传递的参数,如下: var token ZHESHINIDETOKEN; var phone 11…...
阿里云安全产品Web应用防火墙是什么?有什么作用?
Web应用防火墙是一款网站Web应用安全的防护产品,拦截针对您网站发起的Web通用攻击(如SQL注入、XSS跨站等)或是应用资源消耗型攻击(CC),同时也可以满足您网站从流量管理角度来防御业务风险,例如B…...
【SSM】Spring6(九.代理模式)
文章目录1.代理模式2. 静态代理3. 动态代理3.1 JDK动态代理3.2 CGLIB动态代理1.代理模式 代理模式主要有两种: 静态代理模式 动态代理模式 2. 静态代理 有这样一个业务:订单的生成,修改,查看详情。实现如下 package com.sdnu.…...
【1017. 负二进制转换】
来源:力扣(LeetCode) 描述: 给你一个整数 n ,以二进制字符串的形式返回该整数的 负二进制(base -2)表示。 注意, 除非字符串就是 "0",否则返回的字符串中不…...
C语言实现插入排序与希尔排序
目录 一,插入排序 插入排序C语言实现(升序) 1,将新元素插入到有序序列 2,循环的开始与终止 二,希尔排序 希尔排序C语言实现(升序) 1,单趟: 2&#x…...
第九章-DOM与CSS
style属性 文档中每个元素节点都有一个属性style。style属性包含着元素样式,查询这个属性将返回一个对象而不是一个简单的字符串。样式都存放在这个style对象的属性里。 var element getElementById("example") //查看颜色属性 element.style.color //…...
蓝桥杯真题练习
小蓝在玩一个寻宝游戏, 游戏在一条笔直的道路上进行, 道路被分成了 nn 个方格, 依次编号 1 至 nn, 每个方格上都有一个宝物, 宝物的分值是一个整数 (包括正数、负数和零), 当进入一个方格时即获得方格中宝物的分值。小蓝可 以获得的总分值是他从方格中获得的分值之和。 小蓝开始…...
插入排序的简单理解
详细描述 插入排序的基本思想是:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增 1 的有序表。 在其实现过程中使用双层循环,外层循环针对除了第一个元素之外的所有元素,内层循环针对当前元素前面的有序表进行…...
Springboot框架集成Websocket通信方式
Websocket实现了“服务器”主动向“客户端”发送数据,改变了以往通过轮询、长轮训、长连接等方式获取服务器端数据的方式。 一、Websocket有三种不同的用场景,单播、广播和组播; (一)、单播(Unicast) 单播是客户端与服务器之间的“一对一”的连接。是在一个单个的发送…...
将json数据分组
在工作中有时需要根据业务需要,将大量数据进行处理分成几个一组 // 例如要将下方数据进行处理 var stuCount [{"id": "1612321835288","libraryCode": "D","regionCode": "A","positionCode&qu…...
从零开始实现一个C++高性能服务器框架----Socket模块
此项目是根据sylar框架实现,是从零开始重写sylar,也是对sylar丰富与完善 项目地址:https://gitee.com/lzhiqiang1999/server-framework 简介 项目介绍:实现了一个基于协程的服务器框架,支持多线程、多协程协同调度&am…...
ld: library not found for -lcrt0.o
ld: library not found for -lcrt0.o 背景: Mac 系统编译的时候报错 语言:golang 原因: 代码使用了静态编译,-static。stack overflow 上说 This option will not work on Mac OS X unless all libraries (including libgcc.a…...
接口测试和功能测试的区别有哪些?说一些你不知道的知识
目录 接口测试和功能测试的区别 目的 测试范围 测试方法 重要性 编辑 举个例子 对于接口测试 对于功能测试 编辑 总结 接口测试和功能测试是软件测试中的两种常见测试类型,主要用于评估软件系统的质量。尽管这两种测试都是为了评估软件系统的性…...
深度学习实战——不同方式的模型部署(CNN、Yolo)
忆如完整项目/代码详见github:https://github.com/yiru1225(转载标明出处 勿白嫖 star for projects thanks) 目录 系列文章目录 一、实验综述 1.实验工具及及内容 2.实验数据 3.实验目标 4.实验步骤 二、ML/DL任务综述与模型部署知识…...
避坑指南:解决ROS2 Gazebo仿真中机械臂‘散架’或‘弹飞’问题(附惯性矩阵计算与dynamics参数调整)
ROS2 Gazebo仿真中机械臂物理异常问题深度解析与实战解决方案 当你在Gazebo仿真环境中看到精心设计的机械臂模型像积木一样散落一地,或是突然像火箭般腾空而起时,那种挫败感任何机器人开发者都能感同身受。这类物理异常问题不仅影响开发效率,…...
nli-distilroberta-base效果展示:Entailment/Contradiction/Neutral三类判别置信度热力图
nli-distilroberta-base效果展示:Entailment/Contradiction/Neutral三类判别置信度热力图 1. 项目概述 nli-distilroberta-base是基于DistilRoBERTa模型的自然语言推理(NLI)Web服务,专门用于分析两个句子之间的逻辑关系。这个轻量级模型能够快速准确地…...
如何用WeChatMsg实现微信聊天记录的永久保存与深度分析
如何用WeChatMsg实现微信聊天记录的永久保存与深度分析 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg …...
Sora.FM零基础部署指南:3步上手AI视频生成工具的Linux实践方案
Sora.FM零基础部署指南:3步上手AI视频生成工具的Linux实践方案 【免费下载链接】sorafm 项目地址: https://gitcode.com/GitHub_Trending/so/sorafm Sora.FM是一款基于Sora AI技术的开源视频生成平台,支持通过文本描述创建高质量AI视频。本指南专…...
如何通过AI技术提升图表创作效率?Next AI Draw.io全攻略
如何通过AI技术提升图表创作效率?Next AI Draw.io全攻略 【免费下载链接】next-ai-draw-io 项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io 技术人员日常工作中常会遇到这样的困境:花几小时绘制的架构图需要频繁修改&#x…...
3大核心突破!MAT图像修复技术全解析:从环境部署到实战应用
3大核心突破!MAT图像修复技术全解析:从环境部署到实战应用 【免费下载链接】MAT MAT: Mask-Aware Transformer for Large Hole Image Inpainting 项目地址: https://gitcode.com/gh_mirrors/ma/MAT MAT(Mask-Aware Transformer for La…...
Carla仿真实战:3种高效定位车辆生成点的方法(附代码示例)
Carla仿真实战:3种高效定位车辆生成点的方法(附代码示例) 在自动驾驶仿真开发中,精确控制车辆生成位置是构建测试场景的基础需求。许多开发者在使用Carla时都遇到过车辆"乱跑"的问题——明明指定了坐标,生成…...
uniapp中集成leaflet地图的3个坑与解决方案(附完整代码)
uniapp中集成leaflet地图的3个坑与解决方案(附完整代码) 在移动端开发领域,uniapp因其跨平台特性广受欢迎,而leaflet作为轻量级地图库也备受青睐。但当两者结合时,开发者往往会遇到一些意想不到的挑战。本文将深入剖析…...
TSmaster 曲线窗口(Graphic)的X/Y轴优化与信号分离实战
1. TSMaster曲线窗口基础操作指南 第一次打开TSmaster的Graphic窗口时,很多人会被密密麻麻的曲线和参数搞得晕头转向。作为一个在汽车电子测试领域摸爬滚打多年的老司机,我清楚地记得自己刚开始使用时,光是找添加信号的按钮就花了十分钟。下面…...
【2.0 教程】第 7 章:仪表盘,一眼看全局
🎉NocoBase V2 系列教程已在官网-教程专栏发布,点击链接前往查看。 https://docs.nocobase.com/cn/tutorials/v2/ 已发布教程速览: NocoBase 2.0 入门教程 —— IT 工单系统 第一章:认识 NocoBase — 5 分钟跑起来 第二章&…...
