A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄坚声 中级黑马   /  2012-5-11 17:42  /  1895 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

解释一下HashMap的工作方式?看了基础视频,还是不太明白!:L

6 个回复

正序浏览
HashMap是哈希表结构的
key唯一;
不同步;
允许null作为键,值。
hashCode()、equals()确定元素唯一性
哦了



回复 使用道具 举报
你可以参考Java的帮助文档来写代码。看下面几个例子:

Data data1 = new Data(); //假设Data是我们自己定义的类
Data data2 = new Data();
HashMap hm = new HashMap();
hm.put(new Integer(1),data1);
hm.put(new Integer(2),data2);

这样你就可以把data1,data2存进HashMap了。
HashMap和ArrayList的区别是: HashMap 是以键-值的形式存储数据的(就像我例子中的,‘1’就是键,data1就是值);而ArrayList则是用数组的方式存数据的。
回复 使用道具 举报
hashmap是无序的(存入顺序和输出顺序无关)底层数据结构是Hash 表(就是一种实现快速存储的方法),
hashcode()和equals()方法实现了键的唯一性。

回复 使用道具 举报
HashMap的工作原理是 重写了hashcode()方法 获取map中key的哈希吗 如果哈希吗一样的话就去比较其他属性 如果其他属性也一样的话就去把这个key和value覆盖 否则就直接存进去 当然顺序是随机的
回复 使用道具 举报
HashMap,带Hash当然是和哈 希有关,所以底层存贮结构是哈希地址,同此可以得出输出顺序是随机的,和List不一样。而且LinkedHashMap是HashMap的一个子类,这个子类保证输出顺序和存序是一样的,不是随机的。HaspMap可以和HashSet对比来理解,这样比较 的容易 。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马