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获取元素,只能用迭代器来获取元素;