首页 > 新闻资讯

arraylist在遍历的过程中能删除吗 arraylist和linkedlist的区别?

arraylist和linkedlist的区别?

arraylist和linkedlist

共性:arraylist和linkedlist都是list接口的实现类,所以都实现了list所有未实现的方法,只是实现方法不同。

区别:list接口的实现不同。

arraylist在遍历的过程中能删除吗 arraylist和linkedlist的区别?

arraylist以数组的形式实现了list接口,所以使用arraylist来实现快速随机获取对象的要求会更高效。

linkedlist使用链表实现列表接口,所以在执行插入和移除动作时比arraylist更高效。适用于实现堆栈和队列。

哈希表和哈希表

共性:都实现了地图接口。

差异:

(1)继承的父类不同

hashtable从dictionary类继承,hashmap从abstractmap类继承。

(2)线程安全性不同

hashtable方法是同步,而hashmap中的方法默认是不同步的。

(3)提供contains方法

hashmap去掉了hashtable的contains方法,改成了containsvalue和containskey,因为contains方法容易被误解。

hashtable保留了三种方法:contains、containsvalue和containskey,其中contains和containsvalue的作用相同。

(4)4)键和值是否允许空值。

在哈希表中,键和值都不允许为空值。在hashmap中,null可以作为一个键,而且这样的键只有一个;一个或多个键可以有空值。

(5)两种遍历模式的内部实现不同。

hashmap使用迭代器;;hashtable使用迭代器和枚举。

(6)哈希值不同

哈希值的用法不同。hashtable直接使用对象的hashcod

linklist与arraylist谁更占空间?

arraylist类似于数组,按顺序存储在内存中。linkedlist类似于链表,没有顺序,但是每个元素都是通过指针链接的。因为linkedlist是无序存储的,所以它可以入到任何地方,只要指针指向它。arraylist是有序的,插入要遍历到你想插入的位置,所以效率比较低。

因为arraylist是有序的,查询时输入索引就可以快速找到,而linkedlist不是。

arraylistlinkedlist接口hashtablehashmap

原文标题:arraylist在遍历的过程中能删除吗 arraylist和linkedlist的区别?,如若转载,请注明出处:https://www.shcrbfchs.com/shc1/33248.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「泰福润金」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。