java 集合 ArrayList与Vector的区别:
2015-11-24 23:22
232 查看
ArrayList与Vector的区别:
ArrayList和Vector都可以用来表示一组数量可变的对象应用的集合;
并且可以随机的访问其中的元素;
区别:ArrayList是JDK1.2之后退出的,Vector是JDK1.0时推出;
在性能上,前者采用异步处理方式,性能更高,后者采用同步处理方式,性能较低;
前者属于非线程安全的操作类(不同步),后者属于线程安全的操作类(同步);
前者只能使用Iterator、foreach输出,后者可以使用Iterator、foreach、Enumeration输出;
LinkedList比ArrayList在插入和删除上更方便,但查询速度上更慢一些;
前者是基于链表的数据结构,后者是基于动态数组实现的;
Array可以包含基本类型和对象类型,而ArrayList只能是对象类型;
前者大小固定,后者是动态变化,并且提供更多的方法;
TreeSet是有序排序(自然排序,即升序);但性能上比散列(无序)排序的HashSet差,
所以在需要排序的时候可以使用TreeSet,但对象所在的类必须实现Compable接口,重写compareTo方法;
HashSet不能重复,能放null值,重复的自动覆盖;
TreeSet是sortedSet的唯一实现类;
都不能用get获取元素,只能用迭代器来获取元素;
ArrayList和Vector都可以用来表示一组数量可变的对象应用的集合;
并且可以随机的访问其中的元素;
区别:ArrayList是JDK1.2之后退出的,Vector是JDK1.0时推出;
在性能上,前者采用异步处理方式,性能更高,后者采用同步处理方式,性能较低;
前者属于非线程安全的操作类(不同步),后者属于线程安全的操作类(同步);
前者只能使用Iterator、foreach输出,后者可以使用Iterator、foreach、Enumeration输出;
LinkedList比ArrayList在插入和删除上更方便,但查询速度上更慢一些;
前者是基于链表的数据结构,后者是基于动态数组实现的;
Array可以包含基本类型和对象类型,而ArrayList只能是对象类型;
前者大小固定,后者是动态变化,并且提供更多的方法;
TreeSet是有序排序(自然排序,即升序);但性能上比散列(无序)排序的HashSet差,
所以在需要排序的时候可以使用TreeSet,但对象所在的类必须实现Compable接口,重写compareTo方法;
HashSet不能重复,能放null值,重复的自动覆盖;
TreeSet是sortedSet的唯一实现类;
都不能用get获取元素,只能用迭代器来获取元素;
相关文章推荐
- 如何在eclipse的配置文件里指定jdk路径
- java 集合 ListIterator
- JavaFX入门(三):使用Eclipse开发JavaFX程序
- java 集合 实现comparable接口
- spring MVC学习(一)---前端控制器
- JDK自带方法实现RSA数字签名
- 从头认识java-10.3 自定义异常类型
- Java FP: Java中函数式编程的Map和Fold(Reduce)
- JAVA学习心得(二)-继承
- 安卓开发过程中空指针的问题Java.lang.NullPointerException
- 安卓开发过程中空指针的问题Java.lang.NullPointerException
- 安卓开发过程中空指针的问题Java.lang.NullPointerException
- 我看Java虚拟机(1)---Java简介(标配)和Java内存管理概述(空间)
- JAVA的几十个设计模式---也就是说风格与写法
- java基础
- Struts2中如何使用session、request等对象
- java 的搭建开发环境的简单介绍
- Struts2的核心组件及基本流程
- JAVA 比较两个日期相差的天数的方法比较
- jdk安装