arraylist和hashmap的区别

发布网友 发布时间:2022-03-26 07:55

我来回答

4个回答

懂视网 时间:2022-03-26 12:17

hashmap是无序的,无序是指混乱无规则的状态,无序的种类和特征可以根据晶体结构被破坏的方式和程度来定义,通常的无序现象包括置换无序,取向无序,晶畴无序,拓扑无序等。

  

  HashMap是一种无序的存储结构。HashMap的实现是假定元素是放在一个圆形的环上,每次put进来的元素根据其hashCode计算该元素在圆环上索引,把该元素放到合适的位置。基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作,并允许使用 null 值和 null 键。(除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。 此实现假定哈希函数将元素适当地分布在各桶之间,可为基本操作(get 和 put)提供稳定的性能。迭代 collection 视图所需的时间与 HashMap 实例的“容量”(桶的数量)及其大小(键-值映射关系数)成比例。所以,如果迭代性能很重要,则不要将初始容量设置得太高(或将加载因子设置得太低)。

  

  

热心网友 时间:2022-03-26 09:25

首先就内部的元素而言,ArrayList储存的是单个对象,即 ArrayList al = new ArrayList(); 而HashMap储存的是一组一组的key和value,像: HashMap hm = newHashMap(); 这样。 另一个,就内部结构而言,ArrayList是有序的,而HashMap无序。

热心网友 时间:2022-03-26 10:43

List和ArrayList的区别
List是一个接口,而ListArray是一个类。
ListArray继承并实现了List。
所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。
List list; //正确 list=null;
List list=new List(); // 是错误的用法

map是一个接口
hashmap是一个实现了map接口的类
接口不能new

热心网友 时间:2022-03-26 12:17

请参考
http://blog.csdn.net/qiulongtianshi/article/details/8146717
这篇文章。里边说的比较细。
包含用法,性能以及来源的区别。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com