当前位置: 首页 > news >正文

day34 Set

概述 

Set也是集合Collection接口的子接口

Set也是集合Collection接口的子接口

特点:不保证元素有顺序,数组元素不可以重复

HashSet:

底层是基于HashMap的。元素是无序的。元素不可重复,去重机制是依据hashCode()和equals()方法

LinkedHashSet:

元素有序,元素不可重复,去重机制是依据hashCode()和equals()

TreeSet:

在底层会对元素进行排序,默认是升序排顺,要求存储在TreeSet集中的元素必须实现Comparable接口,元素不可重复,去重机制是依据compareTo方法,如果compareTo()方法返回结果为0,则认为重复

Deque<String> d= new LinkedList<>();

d.offer("1"); //尾部插入
d.offerFirst("s");//队首插入
d.offerLast("2"); //队尾插入
d.poll(); //默认从队首取值,删除
d.pollFirst();//从队首取,并删除
d.pollLast();//从队尾取,删除
d.peek();//从队首取不删除
d.peekFirst();
d.peekLast();
d.getFirst();
d.getLast();

Set s = new HashSet();

Student a = new Student("re", 21, 12, "中国");
Student b = new Student("rk", 31, 56, "🚹");
Student c = new Student("ee", 41, 34, "❤");
Student d = new Student("qq", 71, 35, "🐷");
Student e = new Student("qq", 71, 35, "🐷");
s.add(a);
s.add(b);
s.add(c);
s.add(d);
s.add(e);

Set s = new LinkedHashSet();

Student a = new Student("re", 21, 12, "中国");
Student b = new Student("rk", 31, 56, "🚹");
Student c = new Student("ee", 41, 34, "❤");
Student d = new Student("qq", 71, 35, "🐷");
s.add(a);
s.add(b);
s.add(c);
s.add(d);

Queue<String> queue = new LinkedList<>();

        queue.add("1");queue.add("2");queue.add("3");queue.poll();queue.peek();queue.size();queue.forEach(s -> System.out.println(s));Collection<String> c = new ArrayList();
//        Collections.replaceAll(queue,"1","2");System.out.println(queue);
//        queue.removeAll(queue);
//        System.out.println(queue);

  Set<String> s = new HashSet();

 s.add("one");s.add("two");s.add("three");s.add("four");
//        System.out.println("one".hashCode());
//        System.out.println(s);  String[] s11 = s.toArray(new String[s.size()]);
//toArray方法接收一个空的数组作为参数,大小等于集合的大小,然后将集合中的元素复制到这个数组中并返回该数组。for (int i = 0; i < s.size(); i++) {System.out.print(s11[i]);}System.out.println(Arrays.toString(s11));Set s1 = new LinkedHashSet();s1.add("one");s1.add("two");s1.add("three");s1.add("four");

 

 

Set s = new TreeSet();

Student a = new Student("re", 21, 12, "中国");

Student b = new Student("rk", 31, 56, "🚹");

Student c = new Student("ee", 41, 34, "❤");

Student d = new Student("qq", 71, 35, "🐷");

s.add(a);

s.add(b);

s.add(c);

s.add(d);

System.out.println(s);

相关文章:

day34 Set

概述 Set也是集合Collection接口的子接口 Set也是集合Collection接口的子接口 特点&#xff1a;不保证元素有顺序&#xff0c;数组元素不可以重复 HashSet: 底层是基于HashMap的。元素是无序的。元素不可重复&#xff0c;去重机制是依据hashCode()和equals()方法 LinkedHas…...

数据库_之常用API的使用

数据库_之电商API MySQL C API 使用&#xff08;基本函数&#xff09; Mysql C API函数详解 MySQL的常用API 一个常用的程序调用MySQL数据库的时候通常都会调用以下API,下面来逐个分析. mysql_init() //函数原型 MYSQL *STDCALL mysql_init(MYSQL *mysql);这个API主要是用来分…...

CTreeCtrl自绘

CSWTreeCtrl.h&#xff09; #pragma once#define _OWNER_DRAWN_TREE // 自绘CTreeCtrl&#xff0c;可支持背景图片显示功能class CSWTreeCtrl : public CTreeCtrl {DECLARE_DYNAMIC(CSWTreeCtrl)// 成员私有结构定义// 构造/析构函数 public:CSWTreeCtrl();virtual ~CSWTreeC…...

目标检测YOLO实战应用案例100讲-基于深度学习的可见光遥感图像目标检测

目录 前言 遥感图像目标的特点 基于深度学习的目标检测技术 2.1引言 2.2卷积神经网络...

MySQL数据库——存储引擎(2)-存储引擎特点(InnoDB、MyISAM、Memory)、存储引擎选择

目录 存储引擎特点 InnoDB 介绍 特点 文件 逻辑存储结构 MyISAM 介绍 特点 文件 Memory 介绍 特点 文件 区别及特点 存储引擎选择 存储引擎特点 上面我们介绍了什么是存储引擎&#xff0c;以及如何在建表时如何指定存储引擎&#xff0c;接下来我们就来介绍比较…...

【Vue】构建vue项目的几种方法以及区别

【Vue】构建vue项目的几种方法以及区别 1.通过vue-cli进行创建2.直接通过npm进行创建3.基于vite创建vue项目4.总结 构建vue项目时请确保已经安装node和npm 1.通过vue-cli进行创建 要用vue脚手架vue-cli创建vue项目首先我们需要全局安装一下vue-cli&#xff0c;安装命令如下&a…...

动态封装对象,属性来自json

需求&#xff1a; 如何动态的获取一个对象的字段&#xff0c;假如一个对象里面有name,age&#xff0c;sex三个字段&#xff0c;我想取name的值&#xff0c;这个name是存在一个json中&#xff0c;json的格式如下[{"key":"name"},{"key":"age…...

【LeetCode-中等题】90. 子集 II

文章目录 组合并集问题汇总&#xff1a;题目方法一&#xff1a;递归加回溯&#xff08;去重版&#xff09; 组合并集问题汇总&#xff1a; 1、子集非去重版本 2、组合非去重版本 3、组合去重版本 题目 本题nums数组存在重复元素&#xff0c;所以本题会涉及一个去重操作&#…...

Docker如何安装seafile

SQLite 方式 要在 Docker 中安装 Seafile&#xff0c;您可以按照以下步骤进行操作&#xff1a; 安装 Docker&#xff1a;确保您的系统上已经安装了 Docker。您可以根据您的操作系统类型&#xff0c;在官方网站上找到适合您系统的 Docker 版本并进行安装。 下载 Seafile 镜像&…...

注册法国商标的步骤和时间

注册法国商标的步骤如下&#xff1a; 1、商标查询&#xff1a;在提交申请之前&#xff0c;建议进行商标查询&#xff0c;以确保商标在法国市场上具有独特性和显著性。 2、提交申请&#xff1a;通过法国知识产权局的在线平台提交商标申请。申请时&#xff0c;需要提供以下文件…...

一起学数据结构(6)——栈和队列

上篇文章中&#xff0c;对栈的概念及特点进行了解释&#xff0c;并且给出了栈实现的具体代码。本篇文章将给出队列的基本概念及特点。并给出相应的代码。 1. 队列的概念及结构&#xff1a; 在给出队列的概念之前&#xff0c;先给出上篇文章中提到的栈的概念&#xff1a;一种只…...

【数据结构】二叉树的顺序结构-堆

【数据结构】二叉树的顺序结构-堆 普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储&#xff0c;需要注意的是这里的堆和操作系统虚拟进程地址空间…...

2024年java面试--mysql(2)

系列文章目录 2024年java面试&#xff08;一&#xff09;–spring篇2024年java面试&#xff08;二&#xff09;–spring篇2024年java面试&#xff08;三&#xff09;–spring篇2024年java面试&#xff08;四&#xff09;–spring篇2024年java面试–集合篇2024年java面试–redi…...

IllegalArgumentException

Caused by: java.lang.IllegalArgumentException:Invalid pulsar service : persistent 参数非法异常 这个异常是由于使用了无效的 Pulsar 服务类型导致的。Pulsar 支持不同的服务类型&#xff0c;例如 persistent、non-persistent 等。 当你在配置 Pulsar 相关的参数时&…...

Git 概述命令、idea中的使用

目录 Git概述 Git代码托管服务 Git常用命令 Git 全局设置 获取 Git 仓库 ​编辑Git 工作区中文件的状态 本地仓库操作 远程仓库操作 ​编辑分支操作 标签操作 在IDEA中使用Git 1.获取Git仓库 .gitignore 表示忽略 2.本地仓库操作 3.远程仓库操作 4.分支操作 Git是…...

单片机之硬件记录

一、概念 VBAT 当使用电池或其他电源连接到VBAT脚上时&#xff0c;当VDD断电时&#xff0c;可以保存备份寄存器的内容和维持RTC的功能。如果应用中没有使用外部电池&#xff0c;VBAT引脚应接到VDD引脚上。 VCC&#xff1a;Ccircuit 表示电路的意思,即接入电路的电压&#x…...

QQ文件传输协议研究

引言 我们都知道,现在越来越多的应用采取了 HTTPS or TLS 传输协议,对于一般的协议,我们可以使用中间人技术对流量进行劫持转发,从而破解密文,这边可以参见我的另外一篇文章基于加密邮件协议的中间人攻防实战, 而对于 HTTPS 应用即使是我们采取中间人技术,也很难让浏览器…...

Qt/C++音视频开发51-推流到各种流媒体服务程序

一、前言 最近将推流程序完善了很多功能,尤其是增加了对多种流媒体服务程序的支持,目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等,其中经过大量的对比测试,个人比较建议使用mediamtx和ZLMediaKit,因为这两者支持的格式众多,不…...

LeetCode 35. 搜索插入位置

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 该题我们可以采用二分查找的方式&#xff0c;我们可以把数组分为&#xff0c;小于target的一边儿和大于等于target的一边儿。 当midleft(right-left)下标所对应的数大于等于targ…...

7年经验之谈 —— Web测试是什么,有何特点?

Web测试是指对Web应用程序进行验证和评估的过程&#xff0c;以确保其功能、性能和安全性符合预期。 Web测试具体包括以下几个方面的内容&#xff1a; 功能测试&#xff1a;验证Web应用程序是否按照需求规格说明书中定义的功能正常工作。功能测试包括输入验证、表单提交、页面…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

Redis:现代应用开发的高效内存数据存储利器

一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发&#xff0c;其初衷是为了满足他自己的一个项目需求&#xff0c;即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源&#xff0c;Redis凭借其简单易用、…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...