List、Set、Map判断两个对象相等的标准
2016-08-09 14:05
260 查看
List
通过equals()方法比较返回true即可。
HashSet
先比较两个对象hashCode()方法返回的值是否相等,如果不相等就认为两个对象是不相等的,如果两个对象的hashCode相等就继续调用equals()方法进一步判断两个对象是否相等,如果equals()方法返回true认为两个对象相等,返回false认为两个对象不相等。
TreeSet
两个对象通过compareTo(Object obj)方法比较是否返回0:如果返回0,则认为相等,否则不相等。
HashMap、HashTable
key:两个key通过equals()方法比较返回true,两个key的hashCode值也相等;
value:value与另外一个对象通过equals()方法比较返回true即可。
TreeMap
两个key值通过compareTo()方法返回0,TreeMap即认为这两个key是相等的。
通过equals()方法比较返回true即可。
HashSet
先比较两个对象hashCode()方法返回的值是否相等,如果不相等就认为两个对象是不相等的,如果两个对象的hashCode相等就继续调用equals()方法进一步判断两个对象是否相等,如果equals()方法返回true认为两个对象相等,返回false认为两个对象不相等。
TreeSet
两个对象通过compareTo(Object obj)方法比较是否返回0:如果返回0,则认为相等,否则不相等。
HashMap、HashTable
key:两个key通过equals()方法比较返回true,两个key的hashCode值也相等;
value:value与另外一个对象通过equals()方法比较返回true即可。
TreeMap
两个key值通过compareTo()方法返回0,TreeMap即认为这两个key是相等的。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序