1.Set存放的元素是无序的不可重复。
2.List存放的元素为有序可重复。
3.重写equals方法,一般最好重写hasCode方法,当对象作为key的时候及索引,会使用hasCode方法进行查找。
4.容器对象在调用remove,contains等方法时需要比较对象是否相等,这会涉及到对象类型的equals方法和
hashCode方法。对于自定义的类型,需要重写equals和has...
分类:
编程语言 时间:
2014-08-11 21:24:32
阅读次数:
273
package demo;
import java.util.ArrayList;
import java.util.List;
class Person {
private String username;
private int age;
public String getUsername() {
return username;
}
public void setUsern...
分类:
其他好文 时间:
2014-08-07 09:48:19
阅读次数:
367
基础知识:1HashMap会使用key,根据hashcode进行默认排序。2LinkedHashMap根据存入先后进行排序代码展示:1随机排序
分类:
编程语言 时间:
2014-08-05 23:09:50
阅读次数:
1368
equals方法对比的是元素的值,可以hashcode不同, 但是如果我们override了自己的equals方法同时也应该重载hashcode方法。假设有obj1和obj2相等, 这时候obj1作为key放入map后,用obj2作为key来获取obj1存入的对象...
分类:
其他好文 时间:
2014-08-02 10:09:23
阅读次数:
170
如何覆盖hashCode():
明白了如何散列之后,编写自己的hashCode()就更有意义了。
首先,你无法控制bucket数组的下标值的产生。这个值依赖于具体的HashMap对象的容量,而容量的改变与容器的充满程度和负载因子有关。hashCode()生成的结果,经过处理后称为桶位的下标。
设计hashCode()时最重要的因素就是:无论何时,对同一个对象调用hashCode()都应该...
分类:
其他好文 时间:
2014-07-31 00:00:35
阅读次数:
219
大家都知道,在Map和Set不可存在重复元素?
但是对于内部的细节我们并不了解,今天我们就一块来 探讨一下!
1 对于 HashMap HashSet
他们的底层数据结构的实现是:维护了一张 HashTable 。容器中的元素全部存储在Hashtable 中。他们再添加元素的时候,是如何判断是否存在有重复元素的呢? 每一个被添加的元素都有一个 hashCode(哈希值),...
分类:
编程语言 时间:
2014-07-30 20:45:14
阅读次数:
325
上图为Hashmap的数据结构图,具体实线是采用数组结合链表实现,链表是为了解决在hash过程中因hash值一样导致的碰撞问题。所以在使用自定义对象做key的时候,一定要去实现hashcode方法,不然hashmap就成了纯粹的链表,查找性能非常的慢,添加节点元素也非常的慢。如importjava....
分类:
编程语言 时间:
2014-07-30 20:20:14
阅读次数:
458
转自:http://blog.csdn.net/afgasdg/article/details/6889383#------------------------------------------------------一、equals方法的作用1、默认情况(没有覆盖equals方法)下equals...
分类:
其他好文 时间:
2014-07-29 13:28:28
阅读次数:
359
结构继承关系publicclassAccountextendsObjectimplementsParcelablejava.lang.Objectandroid.accounts.Account类概述值类型代表在AccountManager中的账号。这个对象实现了Parcelable并且重写了equals(Object)和hashCode(),使得它可以用做Map中的key。常量publicstaticfinalCre..
分类:
其他好文 时间:
2014-07-26 03:13:37
阅读次数:
232