java中的全等和相似
2015-12-22 21:50
387 查看
package pack2; import java.util.*; /*Node 的equals()和hashCode()两个函数缺一不可 * HashSet会通过这两个函数来判断两个元素是否等价 * HashSet满足元素互异性 */ class Node { public int number; public Node(int n) { number = n; } public boolean equals(Object o) { if (number == ((Node) o).number) return true; else return false; } // public int hashCode(){ return number; } } public class HashSetTest { public static void main(String[] args) { HashSet<Node> set = new HashSet<Node>(); set.add(new Node(3)); set.add(new Node(3)); System.out.println(set.size()); } }
如果没有实现hashCode,输出为2.因为HashSet<Node>认为这两个东西不全等
如果实现了hashCode,输出为1,因为HashSet<Node>中没有重复元素
在java中,全等意思是hashCode相等并且a.equals(b)
在java中,a.equals(b)表示a与b相似
相关文章推荐
- Java虚拟机
- JVM、JRE与JDK的关系
- BDQN_Java_S1_基础什锦
- JavaEE应用的分层模型
- 蓝桥杯 数字三角形 Java代码
- Java日期表示
- JAVA面向对象之构造方法
- "Java:comp/env/"讲解与JNDI
- java学习第一天--窗体程序开发之swt学习
- 了解Spring 注解注入
- java中的匿名内部类总结
- 对SpringJDBC的简单扩展
- Java排序算法---冒泡排序法
- Java中的多线程总结(转)
- JNDI与JDBC比较以及连接池的技术
- maven中的java库
- Java接口
- maven中的java库
- jni_利用javah命令生成jni方法名
- JAVA开源软件开发必备技能-发布构建到maven中央仓库的方法和详细步骤