java的hashCode和equals函数在HashMap容器中的作用
来源:互联网 发布:ps如何做淘宝首页 编辑:程序博客网 时间:2024/06/06 07:30
java的任意一个Object都有两个可以重写的函数,hashCode()和equals()。hashCode可用于产生HashMap容器中Object对应的key,而equals用于判断Object相不相等。
曾经项目中遇到一个需求,抽象出来,就是统计名字相同的学生的人数,并打印相应人数的学号信息。当时就是用到了上述两个特性实现的。
public class Student{
int id;
String name;
boolean gender;
public Student(int i, String n, boolean g)
{
id = i;
name = n;
gender = g;
}
public int hashCode()
{
return name.hashCode();
}
public boolean equals(Object st)
{
return st.name.equals((Student)st.name);
}
}
public class test
{
private static HashMap<Student, Integer> map = new HashMap<Student, Integer>();
private static void appendStudent(Student st)
{
if (map.containsKey(st))
map.put(st, map.get(st) + 1);
else
map.put(st, 1);
}
private static void printMap()
{
for (Map.Entry<Student, Integer> e : map.entrySet())
{
System.out.println(e.getKey() + ":" + e.getValue());
}
}
public static void main(String[] args)
{
appendStudent(new Student(1, "wwx", true));
appendStudent(new Student(2, "wwx", true));
appendStudent(new Student(3, "wwx", true));
printMap();
}
}
- java的hashCode和equals函数在HashMap容器中的作用
- 【Java】通过HashMap哈希表的原理分析来探讨equals,hashcode在哈希表中的作用
- HashMap中的equals和hashCode
- java--map容器的hashcode和equals
- Java equals()和hashCode()的作用
- Java equals()和hashCode()的作用
- Java equals()和hashCode()的作用
- equals()方法和hashCode()方法在HashMap中的应用
- equals()方法和hashCode()方法在HashMap中的应用
- hashcode和equals的作用
- java中的hashCode()和equals()的关系
- java中的hashcode和equals的区别?
- Java中的equals 和hashCode的理解
- java中的hashCode()和equals()的关系
- java hashmap equals() hashcode()
- 关于Java中的 ==, equals(), hashCode()的作用
- equals函数,hashCode(),toString()的作用和实现方法
- Java自带容器类的equals和hashCode方法
- Masonry与iOS自动布局
- 控制DataGridView 不自动绑定数据,自定义绑定样式
- 自定义标签<1>
- lighttpd安装与配置
- Linux串口编程详解
- java的hashCode和equals函数在HashMap容器中的作用
- N-Queens II
- 使用NSTimer实现倒计时
- 体验C#——重温运算符【转】
- Picasso——针对Android的一个强大的图像下载和缓存库
- 卡尔曼滤波的原理说明
- php通过邮箱找回密码
- [C++学习历程]Visual Studio 2010 的HelloWorld
- 今天在Repeater控件中碰到一个全选的操作