Java练习题2022-1

news2025/1/17 6:18:06

HashSet是Java中常用的Set集合,向HashSet集合中添加数据对象时,首先会调用对象的hashCode()方法获取哈希码,根据哈希码计算对象的存储位置,如果相应位置上已经有数据对象,则会调用对象的equals()方法判断新加入的对象与现有对象是否重复,如果重复则拒绝加入。为了使用HashSet集合正确存储自定义类的对象,自定义类需要重写equals()方法和hashCode()方法。

编写程序完成以下功能:定义一个学生类Student,属性包括String类型的id、name和int类型的age(id属性字符串内容相同的则认为是同一个学生),为三个属性定义get和set方法。重写equals()方法和hashCode()方法,使得当使用HashSet存储Student类的对象时,id重复的学生对象不能重复添加到集合。输入4个学生类对象的属性值,创建4个Student类对象,将其添加到一个HashSet<Student>集合,遍历集合,输出集合中各个学生的信息。

输入说明:输入4个Student类对象的属性值,每个对象属性值按一行输入,以空格分割。

输出说明:集合中存储的Student类对象的信息,每个对象信息占一行,输出格式为 id:name:age。

输入样例1:
2022001 Tom 19
2022002 Jerry 18
2022003 Eason 20
2022002 Jerry 18
输入样例2:
2022001 Tom 19
2022002 Jerry 18
2022003 Eason 20
2022004 Jerry 18

输出样例1:
2022001:Tom:19岁
2022002:Jerry:18岁
2022003:Eason:20岁
输出样例2:
2022001:Tom:19岁
2022002:Jerry:18岁
2022003:Eason:20岁
2022004:Jerry:18岁



import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Scanner;

public class Test1 {
    public static void main(String[] args) {
        List<String []> list = new ArrayList<>();
        HashSet<Student>  hs= new HashSet<>();
        Scanner scanner = new Scanner(System.in);

        for (int i = 0; i < 4; i++) {
            String str = scanner.nextLine();
            list.add(str.split(" "));
        }
       //遍历集合
            for (String[] strings : list) {
                Student s1 = new Student();
                s1.setId(strings[0]);
                s1.setName(strings[1]);
                s1.setAge(Integer.parseInt(strings[2]));
                hs.add(s1);

            }



        for (Student h : hs) {
            System.out.println(h.getId() + ":" + h.getName() + ":" + h.getAge() + "岁");
        }

    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【HarmonyOS】鸿蒙操作系统架构

HarmonyOS架构 一. 鸿蒙系统定位二. 架构整体遵从分层设计三. HarmonyOS具有的技术特性四. HarmonyOS有三大特征 其它相关推荐&#xff1a; 软考系统架构之案例篇(架构设计相关概念) 系统架构之微服务架构 系统架构设计之微内核架构 所属专栏&#xff1a;系统架构设计师 一. 鸿…

分类预测 | Matlab实现KOA-CNN-LSTM-selfAttention多特征分类预测

分类预测 | Matlab实现KOA-CNN-LSTM-selfAttention多特征分类预测 目录 分类预测 | Matlab实现KOA-CNN-LSTM-selfAttention多特征分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现KOA-CNN-LSTM-selfAttention开普勒算法优化卷积长短期记忆神经网络融合…

Camtasia Mac 2023版怎么给视频加字幕

在视频制作过程中&#xff0c;字幕和马赛克是两项非常常用的编辑功能&#xff0c;添加字幕可以提高观众的观看体验&#xff0c;添加马赛克可以保护视频创作者不想公开的画面内容。Camtasia作为一款知名的视频制作软件&#xff0c;在具备基本的录制和视频编辑功能的同时&#xf…

Python运维学习Day01-文件基本操作

这里写自定义目录标题 1.遍历目录下所有的文件1.1 这里主要利用os.walk 函数的功能 2. 计算文件的 MD5 值3. 我们组合下两个函数&#xff0c;遍历下某个文件夹下的文件的md5码 1.遍历目录下所有的文件 def getFileName(directory):file_list []for dir_name, sub_dir,file_na…

CC002:ContextCapture倾斜摄影建模流程

摘要&#xff1a;本文主要介绍cc倾斜摄影建模流程&#xff0c;包括工程创建、影像添加、任务序列路径指定、空三、像控点的导入与刺点、空三优化、三维重建、定义生产三维产品的格式等流程&#xff0c;其中实验数据来源为多普云职业教育平台。 一、实验数据获取 本实验使用cc软…

【深度学习】吴恩达课程笔记(三)——参数VS超参数、深度学习的实践层面

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 吴恩达课程笔记——参数VS超参数、深度学习的实践层面 六、参数VS超参数1.参数和超参数的区别2.什么是超参数&#xff1f;3.如何寻找超参数的最优值&#xff1f; 七、深度学习的实践层面1.训练 / 验证 / 测试集(T…

python 应用 之 转图片格式webp

需求&#xff1a;将图片转成webp格式 目录 一、python 图片转webp格式 1、安装python 2、webp 依赖的包 1&#xff09;、PIP 安装Pillow 2)、VSCODE 选择python版本 2.1&#xff09;、测试是否安装成功 2.2&#xff09;、vscode选择python版本 3、python程序 1&#…

【深度学习】吴恩达课程笔记(二)——浅层神经网络、深层神经网络

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 笔记链接 【深度学习】吴恩达课程笔记(一)——深度学习概论、神经网络基础 吴恩达课程笔记——浅层神经网络、深层神经网络 四、浅层神经网络1.双层神经网络表示2.双层神经网络的前向传播第一层前向传播第二层前…

数据库简史:多主数据库架构的由来和华为参天引擎的机遇

注&#xff1a;本文发表后&#xff0c;收到了很多后台反馈&#xff0c;其中关于大型机的早期成就不容省略。微调重发本文&#xff0c;纯属个人观点&#xff0c;错谬之处&#xff0c;仍然期待指正。 2023年10月13日&#xff0c;在北京举办的“2023金融业数据库技术大会"上&…

前端 :用HTML和css制作一个小米官网的静态页面

1.HTML&#xff1a; <body><div id "content"><div id "box"><div id "top"><div id "top-left"><span id "logo">MI</span><span id "text-logo">小米账…

Java之数据类型与变量

目录 1. 字面常量 2. 数据类型 3. 变量 3.1 变量概念 3.2 语法格式 3.3 整型变量 3.3.1 整型变量 3.3.2 长整型变量 3.3.3 短整型变量 3.3.4 字节型变量 3.4 浮点型变量 3.4.1 双精度浮点型 3.4.2 单精度浮点型 3.5 字符型变量 3.6 布尔型变量 3.7 类型转换 3.7…

Kafka集群修改单个Topic数据保存周期

在大数据部门经常使用Kafka集群&#xff0c;有的时候大数据部门可能在Kafka中的Topic数据保存时间不需要很长&#xff0c;一旦被消费后就不需要一直保留。默认Topic存储时间为7day&#xff0c;个别的Topic或者某台Kafka集群需要修改Topic数据保存的一个周期&#xff0c;调整为3…

攻克组合优化问题!美国DARPA选中全栈量子经典计算公司Rigetti

&#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;美国量子计算公司Rigetti宣布&#xff0c;它被美国国防高级研究计划局 (DARPA) 选中&#xff0c;加入想象未来量子实际应用 (IMPAQT) 计划&#xff0c;推进先进量子算法的研发&#xff0c;去解决组合优化问…

课题学习(九)----阅读《导向钻井工具姿态动态测量的自适应滤波方法》论文笔记

一、 引言 引言直接从原论文复制&#xff0c;大概看一下论文的关键点&#xff1a; 垂直导向钻井工具在近钻头振动和工具旋转的钻井工作状态下&#xff0c;工具姿态参数的动态测量精度不高。为此&#xff0c;通过理论分析和数值仿真&#xff0c;提出了转速补偿的算法以消除工具旋…

前端 : 用html ,css,js写一个你画我猜的游戏

1.HTML&#xff1a; <body><div id "content"><div id "box1">计时器</div><div id"box"><div id "top"><div id "box-top-left">第几题:</div><div id "box…

ROS自学笔记十八:ModuleNotFoundError: No module named ‘serial‘

出现上述错误&#xff0c;则需要安装serial功能包 第一步&#xff1a;输入 sudo apt install python3-pip 第二步&#xff1a;输入 pip install pyserial

C++打怪升级(九)- STL之string

~~~~ 前言1. STL简单介绍1.1 什么是STL?1.2 STL的版本最初的版本P.J版本RW版本SGI版本 1.3 STL的六大组件1.4 STL的一些缺点1.5 STL重要吗&#xff1f; 2 编码2.1 ASCII编码2.2 Unicode编码UTF-8编码 2.3 GBK编码 3. 类模板basic_string4. 单字符string类4.1 什么是string4.2 …

LV.12 D12 GPIO实验 学习笔记

一、GPIO简介 GPIO&#xff08;General-purpose input/output&#xff09;即通用型输入输出&#xff0c;GPIO可以控制连接在其之上的引脚实现信号的输入和输出 芯片的引脚与外部设备相连&#xff0c;从而实现与外部硬件设备的通讯、控制及信号采集等功能 实验步骤 1. 通过…

C/C++晶晶赴约会 2020年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录 C/C晶晶赴约会 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 C/C晶晶赴约会 2020年12月 C/C编程等级考试一级编程题 一、题目要求 1、编程实现 晶晶的朋友贝贝约晶晶下周一起去看展览&#xff0…

x210项目重新回顾之十七升级到linux4.19.114 +buildroot2018再讨论

代码参考https://github.com/colourfate/x210_bsp/ 他的是linux_4.10(dtb为 s5pv210-x210..dtb)我打算用linux4.19.114(dtb为 s5pv210-smdkv210.dtb) &#xff0c;所以修改build.sh ------------------------------------------------------------------------------ 5 M…