蓝桥杯-Set

目录

HashSet类常用方法

1 add(Object obj)方法

2 size() 方法

3 remove(Object obj)方法

4 contains()方法

5 clear() 方法

例题实战


set

 一个不允许出现重复的元素,并且无序的集合,主要有HashSet实现类。

在判断重复元素的时候,Set集合会调用hashCode()和equal()方法来实现。

注重独一无二的性质,该体系集合可以知道某物是否是存在与集合中

用于存储无序(存入和去除的顺序不一定相同)元素,值不能重复。

特点:

可以用来去重     元素无序

HashSet类常用方法

1 add(Object obj)方法

用于向Set集合中添加元素,添加成功返回true,否则返回false。

创建HashSet对象set,用于保存字符串元素:

Set<String> set=new HashSet<>();

也可以用来保存整数元素:Set<Integer> set=new HashSet<>();


package AAA;
import java.util.*;public class Main1 {public static void main(String args[]) {Set<Integer> set=new HashSet<>();boolean a=set.add(1);boolean b=set.add(1);System.out.print(a+" "+b);}
}

结果为true false。说明set中不存在重复元素

2 size() 方法

返回Set集合中的元素个数


package AAA;
import java.util.*;public class Main1 {public static void main(String args[]) {Set<Integer> set=new HashSet<>();set.add(1);set.add(1);System.out.println("第一次添加集合中有:"+set.size()+"个元素");set.add(2);System.out.println("此时的集合中有:"+set.size()+"个元素");}
}

3 remove(Object obj)方法

删除Set集合中的元素,删除成功返回true,否则返回false.

4 contains()方法

如果Set不包含元素,则返回true,否则返回false.

5 clear() 方法

移除此Set 中的所有元素

例题实战

题目:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(1<=N<=100),对于其中重复的数字只能保留一个,其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些书从小到大排列,按照排列好的顺序去找同学做调查。请你协作明明完成“去重”与“排序”的工作

输入

10

20 40 32 67 40 20 89 300 400 15

输出

8

15 20 32 40 67 89 300 400

package AAA;import java.sql.Array;
import java.util.*;public class Main2 {public static void main(String args[]) {//System.out.println("请输入您所需要计算机随机产生的整数个数:");Scanner scanner =new Scanner(System.in); int a=scanner.nextInt();//确定数组长度int c[]=new int[a];for(int i=0;i<a;i++) {c[i]=scanner.nextInt();}//接受数据Set<Integer> set=new HashSet<>();List<Integer> list=new ArrayList();for(int i=0;i<a;i++) {if(!set.contains(c[i])) {set.add(c[i]);list.add(c[i]);//虽然set有去重效果,但是list没有,所以需要条件}//去重}System.out.println("去重后的结果:");for(int x:set) {System.out.print(x+" ");		}System.out.println();System.out.println("去重后的整数个数:");System.out.println(set.size());Collections.sort(list);System.out.println("排序后的结果:");for(int x:list) {System.out.print(x+" ");		}}
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Python实现银行卡识别

在本文中将介绍如何使用Python和深度学习技术来实现银行卡识别功能。银行卡识别是一个在金融、安全等领域具有重要应用的问题&#xff0c;将使用深度学习模型来实现银行卡图像的识别和分类。 目录 引言数据集准备预处理和特征提取模型选择与训练模型评估与性能优化部署与应用 引…

第三百八十六回

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Snackbar Widget相关的内容,本章回中将介绍TimePickerDialog Widget.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在这里说的TimePickerDialog是一种弹出窗口&#xff0c;只不过窗口的内容固定显示…

[Redis]——数据一致性,先操作数据库,还是先更新缓存?

目录 一、操作缓存和数据库时有三个问题需要考虑&#xff1a; 1.删除缓存还是更新缓存&#xff1f; 2.如何保证缓存与数据库的操作同时成功或失效 3.先操作缓存还是先操作数据库&#xff08;多线程并发问题&#xff09; 二、 缓存更新的最佳策略 一、操作缓存和数据库时有…

heic怎么转换成jpg?3个方法帮你一键批量转换

heic怎么转换成jpg&#xff1f;在日常生活中&#xff0c;将HEIC转换为JPG可以为我们带来诸多便利。JPG格式作为一种广泛被接受的图片格式&#xff0c;不仅兼容性更强&#xff0c;还能在各种设备和平台上顺畅显示。这意味着&#xff0c;无论是上传到社交媒体&#xff0c;还是发送…

观其大略之HybridCLR学习笔记

问题背景 1 现有热更方案的开发效率、性能没有到达极限&#xff0c;还有提升的空间 2 ios多平台政策导致热更新受限问题&#xff0c;ios禁止jit。根据我查找的资料&#xff0c;ios的代码段启动的时候就确定了&#xff0c;不能增加新的代码段。IOS封了内存&#xff08;或者堆&…

MySQL基础-----SQL语句之DDL数据定义语句

目录 前言 开启登录数据库 一、数据库操作 1.查询所有数据库 2.切换使用数据库 3.查询当前使用的数据库 4.创建数据库 创建一个hello数据库, 使用数据库默认的字符集。 创建一个itheima数据库&#xff0c;并且指定字符集 5.删除数据库 二、表操作 1.查询当前数据库所有…

html样式排版

<template><div class"box"><div class"header">头部</div><div class"main"><div class"left">菜单</div><div class"right"><div class"right-contentr"&g…

可调恒定电流稳压器NSI50150ADT4G车规级LED驱动器 提供专业的汽车级照明解决方案

NSI50150ADT4G产品概述&#xff1a; NSI50150ADT4G可调恒定电流稳压器 (CCR) &#xff0c;是一款简单、经济和耐用的器件&#xff0c;适用于为 LED 中的调节电流提供成本高效的方案&#xff08;与恒定电流二极管 CCD 类似&#xff09;。该 (CCR) 基于自偏置晶体管 (SBT) 技术&…

thinkphp学习12-数据库的时间查询

传统方式 可以使用>、<、>、<来筛选匹配时间的数据&#xff1b; public function index() {$res Db::name(user)->where(create_time, >, 2018-1-1)->select();dump($res); }可以使用 between 关键字来设置时间的区间&#xff1b; public function in…

【vue】ant-design弹出框无法关闭和runtimecore提示isFucntion is not function的问题修复

【vue】ant-design弹出框无法关闭和runtimecore提示isFucntion is not function的问题修复&#xff0c;初步分析是vue发布3.4版本以后引起的兼容性问题。 问题截图&#xff1a; 1.isFucntion is not function&#xff0c;是由于vue升级后众多插件版本不匹配造成的问题 2.弹框…

vue3+ts项目创建 使用npm create vue@latest

npm create vuelatest相关创建代码&#xff1a;

Linux常用命令(超详细)

一、基本命令 1.1 关机和重启 关机 shutdown -h now 立刻关机 shutdown -h 5 5分钟后关机 poweroff 立刻关机 重启 shutdown -r now 立刻重启 shutdown -r 5 5分钟后重启 reboot 立刻重启 1.2 帮助命令 –help命令 shutdown --help&#xff1a; ifconfig --help&#xff1a;查看…

Docker知识点总结二

四、 Docker 架构 Docker使用客户端-服务器(C/S)架构模式&#xff0c;使用远程API来管理和创建Docker容器。 介绍&#xff1a; 1、Docker的客户端client&#xff0c;我们在命令行发送一些信息(命令)给Docker服务端。2、中间这个就是Docker的服务端&#xff0c;在这个服务端里面…

基于dashscope在线调用千问大模型

前言 dashscope是阿里云大模型服务平台——灵积提供的在线API组件。基于它&#xff0c;无需本地加载大模型&#xff0c;通过在线方式访问云端大模型来完成对话。 申请API key 老规矩&#xff1a;要想访问各家云端大模型&#xff0c;需要先申请API key。 对于阿里云&#x…

关于 DevOps,如何应对IT服务交付中的问题?

文章目录 &#x1f4cb; 前言&#x1f3af; 如何应对IT服务交付中的问题&#xff1f;&#x1f3af;关于 DevOps 书籍推荐&#x1f4dd;最后&#x1f525; 参与方式 &#x1f4cb; 前言 DevOps 是一种软件开发方法论和实践&#xff0c;旨在通过缩短开发周期、提高交付速度和改进…

Service Mesh:重塑微服务市场

摘要 今天我们不谈技术&#xff0c;不谈架构&#xff0c;也不谈具体的产品&#xff0c;我们来聊一聊在未来一两年之内&#xff0c;Service Mesh技术会在微服务相关的市场带来什么样的变化&#xff1f; 大家好&#xff0c;我是敖小剑&#xff0c;今天给大家带来的这个主题叫做…

【树上倍增】【割点】 【换根法】3067. 在带权树网络中统计可连接服务器对数目

作者推荐 视频算法专题 本文涉及知识点 树上倍增 树 图论 并集查找 换根法 深度优先 割点 LeetCode3067. 在带权树网络中统计可连接服务器对数目 给你一棵无根带权树&#xff0c;树中总共有 n 个节点&#xff0c;分别表示 n 个服务器&#xff0c;服务器从 0 到 n - 1 编号…

FPGA——三速自适应以太网设计(1)基本模块

FPGA——以太网设计&#xff08;1&#xff09;基本模块 1. 协议解析&#xff08;1&#xff09;MAC层&#xff08;2&#xff09;IP层 和 ARP层&#xff08;3&#xff09;UDP层 和 ICMP层 2.1 MAC接收模块2.2 MAC发送模块3.1 IP接收模块3.2 IP发送模块4.1 UDP接收模块4.2 UDP发送…

学习clickhouse 集群搭建和分布式存储

为什么要用集群 使用集群的主要原因是为了提高系统的可扩展性、可用性和容错性。 可扩展性&#xff1a;当单个节点无法处理增加的负载时&#xff0c;可以通过添加更多的节点到集群来增加处理能力。这使得系统可以处理更大的数据量和更高的查询负载。可用性&#xff1a;在集群…

html--3D爱心

文章目录 代码效果 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>爱心</title><style type"text/css">*{margin: 0px;border: 0px;}body{overflow: hidden;background-…