Set结构的使用与实现

2023-10-31

Set
  1. Set是继承自Collection的一个接口类;
  2. Set中只存储了key,并且要求key一定要唯一;
  3. Set的底层是使用Map来实现的,其使用key与Object的一个默认对象作为键值对插入到Map中的;
  4. 因为Set里面的key是不能够重复的,所以Set最大的功能就是对集合中的元素进行去重;
  5. 实现Set接口的常用类有TreeSet和HashSet,还有一个LinkedHashSet,LinkedHashSet是在HashSet的基础上维护了一个双向链表,用这个链表来记录元素的插入次序;
  6. Set中的Key不能修改,如果要修改,先将原来的删除掉,然后再重新插入;
  7. Set中插入的key不能为null;
  8. Set的常用方法:
    在这里插入图片描述
  9. TreeSet和HashSet的区别:
    在这里插入图片描述
  10. TreeSet的作用:去重+排序 ;HashSet的作用:去重;
  11. TreeSet和HashSet的代码实现:TreeSet和HashSet的遍历需要使用Iterator迭代器实现
    public static void testTreeSet(){
   
        Set<String> s = new TreeSet<>();
        System.out.println(s.add("orange"));
        System.out.println(s.add("peach"));
        System.out.println(s.add("apple"));
        System
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Set结构的使用与实现 的相关文章

  • Coq 中 MSet 的使用示例

    MSets https coq inria fr library Coq MSets MSets html似乎是 OCaml 式有限集的最佳选择 可悲的是 我找不到示例用途 如何定义一个空的MSet或单身人士MSet 我怎样才能结合两个MS
  • 理解Python集合的行为

    内置类型的文档set says class set iterable 返回一个新的 set 或 freezeset 对象 其元素取自 可迭代的 集合的元素必须 可散列 没关系 但是为什么会这样 gt gt gt l range 10 gt
  • 如何使用 set 维护列表的顺序?

    In 1 l1 a 2 3 0 9 0 0 2 6 b a In 2 l2 list set l1 In 3 l2 Out 3 a 0 2 3 6 9 0 b 在这里您可以看到列表 l2 的顺序与原始 l1 的顺序不同 我需要从列表中删除重
  • 解析和计算布尔集定义

    说我有一套S定义为字符串 例如如下 S A or B and not A and C 其中 A B 和 C 是有限集 例如 A 0 1 B 0 2 C 1 3 如果我们分析S一步一步 我们有 A or B 0 1 2 A C 1 not A
  • 如何在C#中获得一组枚举值?

    假设我有一个枚举 http msdn microsoft com en us library system windows forms dialogresult aspx namespace System Windows Forms pub
  • 从 std::set 中提取仅移动类型

    我有一个std set
  • Java中如何设置背景图片?

    我正在使用 Java 使用 BlueJ 作为 IDE 开发一个简单的平台游戏 现在 我在游戏中使用多边形和简单形状绘制了玩家 敌人精灵 平台和其他物品 最终我希望用实际图像替换它们 现在我想知道将图像 URL 或来自本地源 设置为游戏窗口
  • 是否有可嵌入的 Java 替代 Redis?

    根据这个线程 https stackoverflow com questions 3047010 best redis library for java 如果我想从Java中使用Redis Jedis是最好的选择 然而 我想知道是否有任何库
  • 如何在 C++ 中前向声明 std::set?

    为了加快编译过程 我正在尝试简化我的头文件MyClass hpp通过前向声明 STL 容器 例如 std vector std set But std set can NOT在以下代码中进行前向声明 同时std vector can be
  • Python 集合上的迭代顺序

    我正在解析两个大文件 GB 大小顺序 每个文件包含keys以及对应的values Some keys在两个文件之间共享 但对应的不同values 对于每个文件 我想写入一个新文件keys 以及对应的values with keys 代表 f
  • android 将自定义字体设置为油漆

    我想在油漆上绘制文字 如何用自定义字体绘制它 前 Helvetica 并且还粗体 我更愿意使用系统字体而不是从资源创建它 谢谢 如果 自定义字体 是指作为资源提供的字体 则以下代码应该有效 Typeface plain Typeface c
  • 在 python 中对自定义类执行集合操作

    我想将 Python 的内置 set 类与我创建的自定义类一起使用 如果我愿意 要创建包含自定义类实例的集合 我需要实现哪些函数才能执行测试 例如 set a set b 它可以开箱即用 但是 在某些情况下 过载是有意义的 eq https
  • 使用 std::set 时重载运算符<

    这是我第一次使用 std set 容器 并且我对操作符 std less 遇到了问题 我声明该集合 std set
  • 使用 HashSet 创建整数集

    我想创建一个表示整数集的类 使用HashSet
  • dict_values 视图什么时候可以像设置一样(以及为什么)?

    文档说值视图不被视为类似集合 https docs python org 3 library stdtypes html dictionary view objects 但有时它们是 gt gt gt d 1 1 gt gt gt d va
  • 固定大小集以包含给定集的最大数量

    我有大约 1000 组尺寸 1 4 1 3 3 5 6 4 5 6 7 5 25 42 67 100 是否有可能找到包含最大数量的给定集合的大小为 20 的集合 检查每一个100 80 20 集 效率低下 我不太确定这是 NP 完全的 考虑
  • 有没有快速创建集合的方法?

    目前我正在创建一个像这样的新集 std set a s s insert a1 s insert a2 s insert a3 s insert a10 有没有办法创建s在一行 int myints 10 20 30 40 50 std s
  • Python 和 Numpy 是 nan 和 set

    我在使用 Python 的 Numpy set 和 NaN 非数字 时遇到了不可预测的行为 gt gt gt set np float64 nan np float64 nan set nan nan gt gt gt set np flo
  • 以下代码使用 std::set “合法”吗?

    我有这个代码 set
  • 类型级别集结合律的证明

    我试图证明类型级函数Union https hackage haskell org package type level sets 0 8 5 0 docs Data Type Set html t Union是关联的 但我不确定应该如何完

随机推荐

  • 如何保护数据安全?企业该从部署SSL证书开始

    数字化时代 大数据开始蔓延到各行各业 影响着生活的方方面面 在犹如 皇帝穿新衣 般透明的大数据时代 数据泄露无孔不入 存在问题层出不穷 未知的漏洞隐患 安全边界的模糊 新的网络攻击手段 个人隐私的无处藏身等一系列问题不断出现 因此 如何保护
  • linux.zip文件怎么解压,linux怎么解压zip文件

    ZIP是最广泛使用的归档文件格式 支持无损数据压缩 ZIP文件是包含一个或多个压缩文件或目录的数据容器 在此文中将向您展示如何使用unzip命令通过命令行解压缩Linux系统中的文件 Unzip命令 可帮助您列出 测试和提取压缩的ZIP归档
  • 函数命名技巧

    以动词开头 函数总是做些什么 所以当然要以动词开头 尽量不要以 do 开头 do 并不能给我们提供任何函数的信息 相比之下 search compute handle 之类的动词暗示着函数大概做了什么 合理的使用 get 作为函数名字的开头
  • 2019 5/13 Linux基础指令1

    LINUX基础指令1 换执行等级 init Linux共有七种执行等级 run level 0 关机 run level 3 纯文本模式 run level 5 含有图形接口模式 run level 6 重新启动 重启reboot 键盘指令
  • 最大化最小值问题(二分法)

    二分中非常典型的应用就是 最小化最大值问题 和 最大化最小值问题 本篇结合三道例题来说明最小化最大值问题 最大化最小值 会给你一些可取的数据范围 这个范围有时候需要自己发现 不过一般来说都很明显 然后在这些范围中找到符合要求的数值 通过函数
  • PyTorch、TensorFlow和Jax构建神经网络模型的标准化流程

    文章目录 开始之前 一 PyTorch 1 1 PyTorch 版本1 x阶段 二 TensorFlow 2 1 TensorFlow 版本 1 x 阶段 2 2 TensorFlow 版本 2 x 阶段 三 Jax 3 1 Jax 版本
  • @Transactional 事务调用与生效场景总结

    1 同一个类中 事务publicA掉非事务B B抛异常 AB事务生效 具有传播性 Override Transactional public void A User u new User u setAccount test u setNam
  • 深入研究webpack之Tree Shaking相关属性sideEffects用处

    Tree Shaking我原来也只是了解 这次碰巧深入研究了下 就写个博客记录一下 网上有很多讲Tree Shaking的 我写的这篇跟他们侧重点不一样 Tree Shaking相关的基础知识 1 webpack会从入口文件开始不断的获取你
  • 中科院分区2020_一文读懂SCI期刊分区和实时影响因子计算方法

    作者 恺忻 排版 审核 恺忻 SCI分区 sci分区是一个sci基本常识 国内很多有sci论文发表要求的高校或者科研单位 在发表要求中对期刊分区一般都有明确要求 因为分区不同关系着影响因子高低 很多作者不知道如何查看sci期刊分区 目前sc
  • 文件操作(详细总结)

    文章目录 为什么要使用文件 什么是文件 文件的打开和关闭 文件顺序读写 流 文件的随机读写 文本文件和二进制文件 文件读取结束的判定 文件读取结束的原因 文件缓冲区 为什么要使用文件 为了更好的保存数据 可以将数据写到文件里 在硬盘中 什么
  • 1.4 顺序与选择结构

    第一关 顺序结构 任务描述 本关介绍顺序结构 程序最基本的结构就是顺序结构 顺序结构就是程序按照语句顺序 从上到下依次执行各条语句 本关要求读者理解顺序结构 对输入的三个数changeone changetwo plus能够先交换chang
  • 20行Python代码爬取网站美女图,哇太多了,我U盘装满了

    淘女郎爬虫 可动态抓取淘女郎的信息和照片 需要额外安装的第三方库 requests pip install requests pymongo pip install pymongo 模块功能 TaoLady py 负责发送POST请求和抓取
  • python一定要有主函数吗_python没有main函数吗

    相信很多初学python的人看代码的时候都会先找一下main 方法 从main往下看 但事实上python中是没有你理解中的 main 方法的 if name main 可以看成是python程序的入口 就像java中的main 方法 但不
  • 软件测试的技术深度一定比软件开发低吗?看完这篇文章秒懂

    之所以会有很多人普遍觉得 测试人员比开发人员要求低 一是国内行业现状造成的 因为国内软件企业对软件测试技术的认知比较晚 即使在发展了几年后测试行业变得相对成熟和正式 仍然很多企业公司的主观意识中觉得开发人员解决的是项目可用性问题 而测试人员
  • 使用tensorflow卷积神经网络实现mnist手写数字识别

    在实现mnist手写数字识别的时候 看了极客网上的例子 自己试着实现了一下 但是期间发现了很多问题 于是就把值得注意的地方写在注释里面了 以供后面查阅温习 import tensorflow as tf from tensorflow ex
  • MyBatis 解决模糊查询包含特殊字符

    第一块 MyBatis 实现模糊查询方式 1 1 sql中字符串拼接 SELECT FROM 表名 WHERE 字段名 LIKE CONCAT CONCAT 参数 1 2 使用 代替 SELECT FROM 表名 WHERE 字段名 LIK
  • Linux 嵌入式 BeagleBone 使用 Python 和 JavaScript

    特点 BeagleBone 是一款面向创客的嵌入式 Linux 开发板 它具有内置网络 许多输入和输出以及处理要求苛刻的任务的快速处理器 介绍原始的 BeagleBone 和新的 BeagleBone Black 并开始利用板的处理能力及其
  • PYTHON编程导论群问题汇总(五)

    Q15 改变对象与绑定 P54 Univs和Univs1被绑定到不同的对象的原理不是很清楚 bigjing Univs Techs Ivys Univs1 MIT Caltech Harvard Yale Brown Univs绑定的是含有
  • 【python】numpy随机抽样

    0 前言 numpy random 模块对 Python 内置的 random 进行了补充 增加了一些用于高效生成多种概率分布的样本值的函数 如正态分布 泊松分布等 1 随机模块 numpy random seed seed None se
  • Set结构的使用与实现

    Set Set是继承自Collection的一个接口类 Set中只存储了key 并且要求key一定要唯一 Set的底层是使用Map来实现的 其使用key与Object的一个默认对象作为键值对插入到Map中的 因为Set里面的key是不能够重