首页 > 分享 > Java Set集合使用方法介绍(2)——宠物猫信息管理

Java Set集合使用方法介绍(2)——宠物猫信息管理

最新推荐文章于 2023-11-23 15:05:53 发布

Rainary 于 2017-05-19 22:18:30 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

Java public class Cat { private String name;// 名字 private int month;// 年龄 private String species;// 品种 // 构造方法 public Cat(String name, int month, String species) { super(); this.name = name; this.month = month; this.species = species; } // getter与setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getMonth() { return month; } public void setMonth(int month) { this.month = month; } public String getSpecies() { return species; } public void setSpecies(String species) { this.species = species; } @Override public String toString() { return "[姓名=" + name + ", 年龄=" + month + ", 品种=" + species + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + month; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((species == null) ? 0 : species.hashCode()); return result; } @Override public boolean equals(Object obj) { //判断对象是否相等,相等返回true,不用继续比较属性了 if(this==obj) return true; //判断obj是否是Cat类对象 if(obj.getClass()==Cat.class){ Cat cat = (Cat)obj; return cat.getName().equals(name)&&(cat.getMonth()==month)&&(cat.species.equals(species)); } return false; } }

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Java import java.util.HashSet; import java.util.Iterator; import java.util.Set; public class CatTest { public static void main(String[] args) { //定义宠物猫对象 Cat huahua = new Cat("花花",12,"英国短毛猫"); Cat fanfan = new Cat("凡凡",3,"中华田园猫"); //将宠物猫对象放入HashSet中 Set<Cat> set = new HashSet<Cat>(); set.add(huahua); set.add(fanfan); //显示宠物猫信息 Iterator<Cat> it = set.iterator(); while(it.hasNext()){ System.out.println(it.next()); } //再添加一个与花花属性一样的猫 Cat huahua01 = new Cat("花花",12,"英国短毛猫"); set.add(huahua01); System.out.println("***************************"); System.out.println("添加重复数据后的宠物猫信息:"); it=set.iterator(); while(it.hasNext()){ System.out.println(it.next()); } System.out.println("***************************"); //重新插入一个新宠物猫 Cat huahua02 = new Cat("花花二代",2,"英国短毛猫"); set.add(huahua02); System.out.println("添加花花二代后的宠物猫信息:"); it=set.iterator(); while(it.hasNext()){ System.out.println(it.next()); } //在集合中查找花花的信息并输出 System.out.println("***************************"); if(set.contains(huahua)){ System.out.println("花花找到了"); System.out.println(huahua); } else{ System.out.println("花花没找到"); } //在集合中使用名字查找花花的信息 System.out.println("***************************"); System.out.println("通过名字查找花花信息"); boolean flag = false; Cat c=null; it=set.iterator(); while(it.hasNext()){ c = it.next(); if(c.getName().equals("花花")){ flag=true;//找到了 break; } } if(flag){ System.out.println("花花找到了"); System.out.println(c); }else{ System.out.println("花花没找到"); } //删除花花二代的信息并重新输出 for(Cat cat:set){ if("花花二代".equals(cat.getName())){ set.remove(cat); break; } } System.out.println("*********************************"); System.out.println("删除花花二代后的数据"); for(Cat cat:set){ System.out.println(cat); } //删除集合中的所有宠物猫信息 System.out.println("****************"); boolean flag1 =set.removeAll(set); if(set.isEmpty()){ System.out.println("猫都不见了。。。"); }else{ System.out.println("猫还在。。。"); } } }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293

这里写图片描述
这里写图片描述
HashSet是Set的一个重要实现类,称为哈希集,HashSet中的元素无序并且不可以重复,HashSet中只允许一个null元素,具有良好的存取和查找性能。
我们必须要重写equals方法来保证无法插入重复的数据。
hashcode是哈希表中一个重要的元素,在数组中我们查找元素都是从头到尾遍历,效率较低,而哈希表中我们把每个元素与hashcode求余,得到的余数相同的元素放在一起,这样加快了查找的效率,而hashcode具体选择多少是我们不关心的,我们用IDE的自动重写hashcode功能就可以了。

相关知识

Java Set集合使用方法介绍(2)——宠物猫信息管理
Java学习(86)Java集合——案例:宠物猫信息管理(HashSet增删改查)
java宠物猫
JAVA宠物信息管理系统开发教程【MVC+JCF+IO流】
java学习4:案例:宠物猫信息管理
java基于SSM的宠物医院信息管理系统
Java集合
java计算机毕业设计宠物医院信息管理(开题+程序+论文)
IDEA+Java+JSP+Mysql+Tomcat实现Web宠物信息管理系统
java计算机毕业设计宠物猫管理系统(开题+程序+论文)

网址: Java Set集合使用方法介绍(2)——宠物猫信息管理 https://m.mcbbbk.com/newsview704628.html

所属分类:萌宠日常
上一篇: 宠物猫什么品种好?
下一篇: 习性猫的习性