【数据结构】Set的使用

文章目录

    • 一、Set的使用
      • 1.Set的常用方法:
            • 1.boolean add(E e)
            • 2.void clear()
            • 3.boolean contains(Object o)
            • 4.boolean remove(Object o)
            • 5.int size()
            • 6.boolean isEmpty()
            • 7.Object[] toArray()
            • 8.boolean containsAll(Collection<?> c)
            • 9.boolean addAll(Collection<? extends E> c)
            • 10.Iterator<E> iterator()
      • 2.Set的注意事项:



一、Set的使用

  • 和Map不同的是,Set继承于Collection。Set中只存储了Key

1.Set的常用方法:

1.boolean add(E e)
  • 添加元素,如果存在则无法添加。
        Set<String>set = new TreeSet<>();
        set.add("Hello");
        set.add("World");
        boolean happy = set.add("Happy");
        boolean hello = set.add("Hello");
        System.out.println(set);//[Happy, Hello, World]
        System.out.println(happy);//true
        System.out.println(hello);//false
2.void clear()
   set.clear();
  • 清空集合
3.boolean contains(Object o)
        System.out.println(set.contains("Hello"));//true
        System.out.println(set.contains("hello"));//false
  • 判断元素在集合中是否存在
4.boolean remove(Object o)
        System.out.println(set.remove("Hello"));//true
        System.out.println(set.remove("hello"));//false
  • 删除集合中的元素,返回值为布尔类型
5.int size()
      System.out.println(set.size());//2
  • 返回集合的大小
6.boolean isEmpty()
       System.out.println(set.isEmpty());//false
  • 判断集合是否为空
7.Object[] toArray()
        System.out.println(set);//[Happy, World]
        System.out.println(set.toArray());//[Ljava.lang.Object;@4554617c
  • 将Set中的元素转化为数组返回
8.boolean containsAll(Collection<?> c)
        Deque<String> deque = new ArrayDeque<>();
        deque.add("Happy");
        deque.add("World");
        System.out.println(set.containsAll(deque));//true
  • 判断集合c中的元素是否在set中全部存在,是返回true,否则返回 false

    只要继承了Collection的类都可以比较

9.boolean addAll(Collection<? extends E> c)
        Deque<String> deque = new ArrayDeque<>();
        deque.add("Happy");
        deque.add("World");
        deque.add("adddadd");
        System.out.println(set.containsAll(deque));//true
        System.out.println(set.addAll(deque));//true
        System.out.println(set);//[Happy, World, adddadd]
  • 将集合c中的元素添加到set中,可以达到去重的效果
10.Iterator iterator()
  • 返回迭代器
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }//Happy
         //World

如果有下一个,打印下一个

2.Set的注意事项:

1.Set是继承自Collection的一个借口类

2.Set中只存有Key,且Key唯一.Key不能修改,修改要先删除,再重新插入

3.TreeSet的底层是用Map实现的

在这里插入图片描述

new 的TreeSet,实际上new的是一个TreeMap对象。这个TreeMap的Value都是一个Object对象

TreeSet不能插入为null的Key,HashSet可以,因为TreeSet是需要比较的

4.Set的最大功能是对集合进行去重。

Key不能重复且唯一

5.Set的常用接口的TreeSet和HashSet,

LinkedHashSet在HashSet的基础上,维护了双向链表,来记录元素的插入顺序

点击移步博客主页,欢迎光临~

偷cyk的图

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习Vue(1)环境搭建与运行一个vue项目

下载node.js 下载地址&#xff1a;下载 | Node.js 中文网 安装 双击下载好的安装文件&#xff0c;选择安装路径即可。 安装完成&#xff0c;输入命令&#xff1a;nodel -v&#xff0c;查看版本&#xff0c;正常显示版本即安装成功。 自定义全局安装路径和缓存路径&#xff0…

SpringCloud-深度理解ElasticSearch

一、Elasticsearch概述 1、Elasticsearch介绍 Elasticsearch&#xff08;简称ES&#xff09;是一个开源的分布式搜索和分析引擎&#xff0c;构建在Apache Lucene基础上。它提供了一个强大而灵活的工具&#xff0c;用于全文搜索、结构化搜索、分析以及数据可视化。ES最初设计用…

用Origin快速拟合荧光寿命、PL Decay (TRPL)数据分析处理

需要准备材料&#xff1a;Origin、PL Decay数据txt文件 首先打开Origin画图软件 导入数据&#xff0c;按照下图箭头操作直接导入 双击你要导入的PL Decay的txt数据文件&#xff0c;然后点OK 继续点OK 数据导入后首先删除最大光子数之前的无效数据&#xff0c;分析的时候用…

每天五分钟计算机视觉:图像数据不足带来的问题和解决办法

本文重点 在当今的数字时代,图像数据的应用已经渗透到各个领域,包括但不限于计算机视觉、机器学习、自动驾驶、医疗诊断等。然而,当图像数据不足时,会引发一系列问题,对相关应用产生负面影响。 尤其是计算机视觉领域,图像数据尤为珍贵和稀缺,如果计算机视觉的任务中,如…

政务云安全风险分析与解决思路探讨

1.1概述 为了掌握某市政务网站的网络安全整体情况&#xff0c;在相关监管机构授权后&#xff0c;我们组织人员抽取了某市78个政务网站进行安全扫描&#xff0c;通过安全扫描&#xff0c;对该市政务网站的整体安全情况进行预估。 1.2工具扫描结果 本次利用漏洞扫描服务VSS共扫…

基于Spring Boot的疗养院管理系统的设计与实现

传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装疗养院管理系统软件来发挥其高效地信息处理的作用&#xff0c;可以…

使用html+css制作一个发光立方体特效

使用htmlcss制作一个发光立方体特效 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Documen…

【机器学习300问】36、什么是集成学习?

一、什么是集成学习&#xff1f; &#xff08;1&#xff09;它的出现是为了解决什么问题&#xff1f; 提高准确性&#xff1a;单个模型可能对某些数据敏感或者有概念偏见&#xff0c;而集成多个模型可以提高预测的准确性。让模型变稳定&#xff1a;一些模型&#xff0c;如决策…

Css基础——溢出文字省略号表达

1. 单行文本溢出显示省略号&#xff1a; 1.1、方法&#xff1a; 1. 先强制一行内显示文本*/ white-space: nowrap; &#xff08; 默认 normal 自动换行&#xff09; 2. 超出的部分隐藏*/ overflow: hidden; 3. 文字用省略号替代超出的部分*/ text-overflow: ellipsis; 1.2、代…

【他山之石】BlueLM蓝心大模型的落地

note 预训练&#xff1a;我们采用了混合精度训练以及梯度缩放策略&#xff0c;因为这可以减少训练周期&#xff0c;训练周期较少会节省模型训练所需的时间和资源。选择回放训练能够让模型定向学会一类知识信息。Loss 预测确保在训练过程前对损失进行估计&#xff0c;以保证训练…

javaweb day16 mysql

mysql 安装&#xff1a; 企业开发使用方法 安装虚拟机代替服务器 数据模型 创建数据库 写法 sql简介

KNN算法对鸢尾花进行分类:添加网格搜索和交叉验证

优化——添加网格搜索和交叉验证 from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection imp…

GNN/GCN自己学习

一、图的基本组成 V&#xff1a;点&#xff08;特征&#xff09; E&#xff1a;边 U&#xff1a;图&#xff08;全局特征&#xff09; 二、用途 整合特征&#xff08;embedding)&#xff0c;做重构 三、邻接矩阵 以图像为例&#xff0c;每个像素点周围都有邻居&#xff0c;…

Composer创建ThinkPHP无法获取最新版本的问题

composer安装TP&#xff08;截止目前最新版本为8.0&#xff09; composer create-project topthink/think tp 一开始直接给我安装成TP6了&#xff0c;原因就是我系统的PHP版本不是8.0以上&#xff0c;所以不支持最新的TP版本&#xff0c;就会默认安装之前稳定的版本。解决这个…

说说JVM的垃圾回收机制

简介 垃圾回收机制英文为Garbage Collection, 所以我们常常称之为GC。那么为什么我们需要垃圾回收机制呢&#xff1f;如果大家有了解过Java虚拟机运行时区域的组成(JVM运行时存在&#xff0c;本地方法栈&#xff0c;虚拟机方法栈&#xff0c;程序计数器&#xff0c;堆&#xf…

linux安全--CentOS7安装Tomcat,远程管理ManagerApp

目录 1.Tomcat安装 2.Tomcat远程管理 1.Tomcat安装 下载安装包并解压 tar xf apache-tomcat-7.0.54.tar.gz -C /usr/local/apache-tomcat_7.0.54/tomcat启停 启动 ./startup.sh 停止 ./shutdown.sh 2.Tomcat远程管理 找到tomcat文件夹中webapps/manager/META-INF/contex…

(黑马出品_高级篇_04)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

&#xff08;黑马出品_高级篇_04&#xff09;SpringCloudRabbitMQDockerRedis搜索分布式 微服务技术——可靠性消息服务 今日目标服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallbac…

temu英国电商市场洞察:2月份商品销售数据分析Python数据采集Api

文章目录 引言可视化分析数据展示商品类目占比分析销售额分析价格区间占比分析各类目新品占比分析 写在最后 引言 在美国市场稳步增长基础上&#xff0c;Temu也不断加快全球步伐&#xff0c;现已进入47个国家&#xff0c;光23年9月份就进驻了10个国家&#xff0c;创造单月扩张国…

FileZillaClient连接被拒绝,无法连接

1.ECONNREFUSED - 连接被服务器拒绝 2、无法连接FZ时&#xff0c;判断没有ssh 更新源列表&#xff1a; sudo apt-get update 安装 openssh-server &#xff1a;sudo apt-get install openssh-server 查看是否启动ssh&#xff1a;sudo ps -e | grep ssh

2024 前端javaScript+ES6

JavaScript 基础 1、基本数据类型&#xff1a; 1.1 基本数据类型&#xff1a; Number&#xff08;数值&#xff09;&#xff1a;表示数字&#xff0c;包括整数和浮点数。例如&#xff1a;5、3.14。 String&#xff08;字符串&#xff09;&#xff1a;表示文本数据&#xff…