ArrayList、Vector、LinkedList的区别及其优缺点?HashMap、HashTable的区别及其优缺点

柔情只为你懂 2022-04-24 13:02 408阅读 0赞

源:https://blog.csdn.net/happinessmoon/article/details/7643828

ArrayList、Vector、LinkedList的区别及其优缺点

ArrayList 和Vector是采用数组方式存储数据的,是根据索引来访问元素的,都可以根据需要自动扩展内部数据长度,以便增加和插入元素,都允许直接序号索引元素,但是插入数据要涉及到数组元素移动等内存操作,所以索引数据快插入数据慢,他们最大的区别就是synchronized同步的使用

LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!

如果只是查找特定位置的元素或只在集合的末端增加、移除元素,那么使用Vector或ArrayList都可以。如果是对其它指定位置的插入、删除操作,最好选择LinkedList

HashMap、HashTable的区别及其优缺点

HashTable 中的方法是同步的 HashMap的方法在缺省情况下是非同步的 因此在多线程环境下需要做额外的同步机制

HashTable不允许有null值 key和value都不允许,而HashMap允许有null值 key和value都允许 因此HashMap 使用containKey()来判断是否存在某个键

HashTable 使用Enumeration ,而HashMap使用iterator

Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类

发表评论

表情:
评论列表 (有 0 条评论,408人围观)

还没有评论,来说两句吧...

相关阅读

    相关 索引概念及其优缺点

    概念 数据库中索引(index)的概念与目录的概念十分类似。如果某列出现在查询的条件(where)中,而该列的数据是无序的,那么查询时只能从第一行开始一行一行地匹配。创建