JAVA集合类练习
2015-12-23 17:54
369 查看
在HashSet集合中添加三个Person对象,把姓名相同的人当做同一个人,禁止重复添加。 提示: Person类中定义name和age属性,重写hashCode()方法和equals()方法,针对Person类的name属性进行比较,如果name相同,hashCode()方法的返回值相同,equals方法返回true。
代码:
package Experiment.cqm; import java.util.*; public class Person { private String name; private int age; public Person(String name,int age) { this.name=name; this.age=age; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Person other = (Person) obj; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } public String toString() { return name+":"+age; } } public class Test { public static void main(String[] args) { HashSet hs=new HashSet(); Person p1=new Person("Tom",18); Person p2=new Person("Marry",18); Person p3=new Person("Tom",19); hs.add(p1); hs.add(p2); hs.add(p3); System.out.println(hs); } }运行结果:
相关文章推荐
- JAVA语言 关键字
- 了解Spring @Around使用及注意
- myeclipse颜色设置问题
- java中23种常用设计模式
- java version
- Java 类加载器
- java 运行堆内存分析
- Spring知识点
- Java synchronized详解
- Java笔记 第四章 (4)Java面向对象编程基础 (实战练习)
- springmvc实现网站限流
- Java笔记 第四章(3) Java面向对象编程基础 第三部分(对象概述)
- 【转载】eclipse常用插件在线安装地址或下载地址
- ACM中的java
- java如何高效打印一个二维数组(不用递归,不用两个for循环)
- Myeclipse2013 SVN安装方法以及项目上传到svn服务器
- eclipse导入不到嵌套的项目
- Java jsp MasterPages实现母版页,实现统一风格的页面布局
- Java笔记 第四章(2)Java面向对象编程基础 第二部分(类的成员变量和方法)
- Java 基础 - 强引用、弱引用、软引用、虚引用