X  
登录

暂时未开放注册

忘记密码?
登陆
X  
本站已关闭注册功能
统计
  • 建站日期:2022-03-19
  • 文章总数:396 篇
  • 评论总数:201 条
  • 分类总数:22 个
  • 最后更新:11月27日
文章 Java

Java集合类之Set的HashSet之常用方法的综合应用

安生
首页 Java 正文

1 定义Student类,该类包含:

1)该类具有id(学号,int )和name(学生姓名,String)字段属性;

2)该类具有一个默认的无参构造方法和一个初始化各字段属性的带参的构造方法;

3)各属性字段的getXxx()setXxx()方法。

4)重写public String toString()方法,返回学生的个人信息;

5)注意:因为Student类是自定义类,将Student类的对象添加到HashSet集合对象中时,需要重写hashCode()方法和equals()方法,并规定只有姓名和学生证号都相等,则对象相等。其中计算哈希码的算法:(31 + (name == null ? 0 : name.hashCode()))*31 + id(注:nameStudent对象的姓名,idStudent对象的学生证号)

2. 编写程序将你(如果你不在以下名单中)及以下5Student类的对象放在一个HashSet集合对象中。

姓名:葛田枫    学生证号:20208001

姓名:李赛兵    学生证号:20209002

姓名:熊健柱    学生证号:20207003

姓名:余传珏    学生证号:20206002

姓名:李春凤     学生证号:20205004

要求:

以下代码框架基础上完成指定的任务:

import java.util.HashSet;

import java.util.Scanner;

import java.util.Set;

public class HashSetTask {

    public static void main(String[] args) {

       // 请在Begin-End间编写代码

       /********** Begin **********/

       // 第1步:创建集合

       // 第2步:Student类的对象添加进集合

       // 第3步:判断集合中元素个数是否大于4

       // 第5步:判断集合元素中是否含有指定(例如:姓名:刘芳萍 ,学生证号:20207073),输出提示信息

       // 第6步:当集合中不含有指定对象(如:刘芳萍:20207073)时,把该元素添加进集合

       // 第7步:移除指定对象(例如:姓名:李春凤  学生证号:20205004),并输出提示信息

       // 第8步:打印集合元素
       /********** End **********/
    }
}

【参考答案】

package demo02;

import java.util.HashSet;

public class HashSetDemo {
    public static void main(String[] args) {
        // 请在Begin-End间编写代码
//      ********** Begin **********
        // 第1步:创建集合
        HashSet<Student> hs = new HashSet<Student>();
        // 第2步:Student类的对象添加进集合
        hs.add(new Student(20208001,"葛田枫"));
        hs.add(new Student(20209002,"李赛兵"));
        hs.add(new Student(20207003,"熊健柱"));
        hs.add(new Student(20206002,"余传珏"));
        hs.add(new Student(20206002,"李春凤"));
        // 第3步:判断集合中元素个数是否大于4
        if (hs.size()>4){
            System.out.println("元素大于4");
        }
        // 第5步:判断集合元素中是否含有指定(例如:姓名:刘芳萍 ,学生证号:20207073),输出提示信息
        if (!hs.contains(new Student(20207073,"刘芳萍"))){
            System.out.println("该集合元素中没有指定元素");
        }
        // 第6步:当集合中不含有指定对象(如:刘芳萍:20207073)时,把该元素添加进集合
        System.out.println(hs.add(new Student(20207073,"刘芳萍")));
        // 第7步:移除指定对象(例如:姓名:李春凤  学生证号:20205004),并输出提示信息
        if(!hs.remove(new Student(20205004,"李春凤"))){
            System.out.println("查无此人");
        }
        // 第8步:打印集合元素
        for (Student s :hs){
            System.out.println("姓名:"+s.getName()+","+"学号:"+s.getId());
        }
//        ********** End **********
    }
}

学生类我就不创建了,你们应该都会吧。

【运行截图】


Java集合类之Set的HashSet之常用方法的综合应用
-安生子-AnSheng
-第1
张图片


版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

-- 展开阅读全文 --
可以自己搭建的客服网站
« 上一篇
微信电脑端多开使用,操作简单
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆
社交账号登录

时钟

热门文章

2
EMLOG插件-蜘蛛来访统计修复版
5
类和接口的关系