java.util包集合类中的ArrayList,LinkdList,HashMap,Vector四个类相互间的一些联系和区别 说说集合类中的ArrayList,LinkdList,HashMap,Vector四个类相互间的一些联系和区别好不?嘿嘿 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ArrayList,LinkedList,Vector都是List的实现类,前两都没有实现同步机制,Vector实现了同步机制,ArrayList代表大小可变的数组,允许对元素进行快速随机访问,但向List中间进行添加移除元素操作时效率很差,LinkedList采用了链表数据结构,对顺序访问进行了优化,提高了向List中间位置进行操作的效率。Vector的作用跟ArrayList差不多,只是区别于一个实现了同步机制,一个没有。HashMap是Map的一个实现类,采用了哈希算法来存取Key对象,具有很好的存取性能。并且允许将null作为Map的Key或Value,HashMap也是没有实现同步机制的。书上有很详细的介绍, 学了数据结构后你也可以写自己的ArrayList,LinkdList,HashMap,Vector嘿嘿 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 向 shine333(enihs) 学习。。呵呵 Vector好象有一段时间被deprecated了,不过在1.6里面组知道怎么的,又重新定义了吧 为什么搜索本机的内容速度比百度搜索的慢? java 有几个小疑问...哪位好人帮忙看看.. finally的神秘问题 Linux环境下怎么调用命令 求大仙解释。。。 JAVA的类引用相对于函数引用有什么优势呢?新手开学,觉得很摸不着头脑啊,还请各位指导一下下 问题:此程序不能编译,帮忙看看100分相赠! 介绍本java的书给我好吗?? JDBC 注册驱动 萌新做计算器求指导!!! java打印问题 DBconn.executeQuery:[Microsoft][SQLServer 2000 Driver for JDBC]Error establishin
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
呵呵