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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 云的牧羊人 中级黑马   /  2014-6-17 10:42  /  1380 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求教ArrayList和HashMap之间的区别,之前做开发的时候 一直不知道什么意思,有的人用前者有的用后者,我只是盲目的跟随。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

6 个回复

倒序浏览
arraylist 底层是数组结构,按角标取数据
HashMap 是键值对的形式存储数据
比如    我有个对象 是  Integer i = new Integer(1);
我存如arrylist 里  直接使用 arrylist.add(i);  取值  arrylist.get(0);//按角标0位取值
我存到hashMap里  hashMap.put(1,i);   取值 hashMap.get(1);//按key  取 value

点评

这两个集合内在数组排列有没有什么区别,比如顺序,个数,数据类型要求什么的。  发表于 2014-6-17 15:03
回复 使用道具 举报
其实用什么要看要求的

ArrayList:底层是数组结构,查找快,增删慢,线程不安全,效率高

HashMap:底层是双列哈希表,不存储重复元素,存储自定义对象时,必须覆盖HashCode和equals方法.此集合可以运行null键和null值.

你先对比一下吧

点评

嗯,很专业使用的知识点。  发表于 2014-6-17 15:01

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
ArrayList是线性结构,所以存储得线性的,也就是有先后顺序,HashMap是关系型的,存储通过键值。

点评

这个是核心的,很正确  发表于 2014-6-24 09:07
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马