您的位置:首页 > 编程语言 > Java开发

Java(集合)

2014-04-03 22:44 393 查看
ArrayList,LinkedList以及Vector的区别

1.ArrayList底层是由数组维护的,默认情况下会初始化一个长度为10的Object类型的数组。

2.当数组中元素的个数被填满,会新生成一个长度为(原长度 * 3)/10 + 1 的新数组(初次为16个),将原来的数组元素copy到新数组,继续添加元素。

3.ArrayList和Vector底层都是由Object类型的数组维护的,只是Vector中的方法都是synchronized的,而ArrayList中的方法都不是synchronized的,如果会有同步问题应该使用

Vector,否则为了效率应该使用ArrayList。

4.对于ArrayList和Vector,查找速度快,增加和删除操作慢。本质上是由数组的特性决定的

5.对于LinkedList,查找速度慢,增加和删除速度快。本质上是由双向循环链表的特点来决定的

HashMap和HashTable的区别

1.HashMap里面的键值都可以为null,里面的所有方法都是异步的

2.HashTable里面的键值都不可以为null,并且里面的所有方法都是synchronized
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: