java.util包集合类中的ArrayList,LinkdList,HashMap,Vector四个类相互间的一些联系和区别

lori111 2007-01-04 08:38:41
说说集合类中的ArrayList,LinkdList,HashMap,Vector四个类相互间的一些联系和区别好不?嘿嘿
...全文
915 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldersky 2007-01-16
  • 打赏
  • 举报
回复
Vector好象有一段时间被deprecated了,不过在1.6里面组知道怎么的,又重新定义了吧
jicken_woo 2007-01-08
  • 打赏
  • 举报
回复
向 shine333(enihs) 学习。。
呵呵
lori111 2007-01-05
  • 打赏
  • 举报
回复
what?嘿嘿,打算结了
kaoloveting 2007-01-05
  • 打赏
  • 举报
回复
o O
O
lori111 2007-01-05
  • 打赏
  • 举报
回复
现在是否该结帖了么?
还有高手要补充的没有啊?
lori111 2007-01-05
  • 打赏
  • 举报
回复
谢谢楼上的讲解!!!
shine333 2007-01-05
  • 打赏
  • 举报
回复
HashMap和其他3个没有可比性。

AL, LL, V都是List,

AL、V都是基于动态数组,而LL基于(双向)链表、因而LL更适于频繁进行插、删的操作
AL、LL的方法都不是synchronzied,而V是synchronized的
由于LL是链表,所以不存在初始大小、扩大策略等问题
AL、V的构造函数里都可以指定初始大小、且默认都是10(所以在能够确定你要放的东西个数的大概范围时应该事先指定,避免多次重新分配空间)
AL在需要扩大的时候 * 1.5,而V默认 * 2,且V可以指定每次固定变大一个尺寸,比如每次扩大10,而不是翻倍
3者的构造函数,还有addAll方法能够帮助彼此之间转换,用以在不同阶段的大批量操作下,提高性能
V的岁数比较大,属于JDK中的元老。早在java.util.Collection/List还没出现之前的JDK 1.0里,就有了。所以某些情况下,比如MS VM下也通用Applet,只能用Vector
lori111 2007-01-05
  • 打赏
  • 举报
回复
怎么没人来了呢?继续啊,想看看啊
lori111 2007-01-04
  • 打赏
  • 举报
回复
哦!懂了些,现在就只是学了那四个类中方法的基本用法.自己想看看他们的一些联系咯!
kaka99 2007-01-04
  • 打赏
  • 举报
回复
比如链表和数组的区别
必须要数据结构知识才能懂
以及树等...
kaka99 2007-01-04
  • 打赏
  • 举报
回复
学了数据结构后你也可以写自己的ArrayList,LinkdList,HashMap,Vector

嘿嘿
lori111 2007-01-04
  • 打赏
  • 举报
回复
说具体点好不
为什么说学数据结构后就明了?
kaka99 2007-01-04
  • 打赏
  • 举报
回复
学了数据结构就一切明了:)
YuLimin 2007-01-04
  • 打赏
  • 举报
回复
看Think in Java
gilly20 2007-01-04
  • 打赏
  • 举报
回复
ArrayList,LinkedList,Vector都是List的实现类,前两都没有实现同步机制,Vector实现了同步机制,ArrayList代表大小可变的数组,允许对元素进行快速随机访问,但向List中间进行添加移除元素操作时效率很差,LinkedList采用了链表数据结构,对顺序访问进行了优化,提高了向List中间位置进行操作的效率。Vector的作用跟ArrayList差不多,只是区别于一个实现了同步机制,一个没有。

HashMap是Map的一个实现类,采用了哈希算法来存取Key对象,具有很好的存取性能。并且允许将null作为Map的Key或Value,HashMap也是没有实现同步机制的。

书上有很详细的介绍,

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧