1.Collection, list, Set之间的联系和区别?
Collection:Java.util下的一个接口,是各种集合结构的父接口,List和Set是继承自它的子接口。
List:List接口是有序的,会精确的将元素插入到指定的位置(允许有相同元素)。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素。
Set:是一种不包含重复元素的Collection接口,只关心元素是否属于Set(不允许有相同元素),而不关心它的顺序。
简单来说,List可以通过下标(1.2…)来取值,值可以重复,Set只能通过游标来取值,并且值是不能重复的。
2.遍历一个集合对象都有哪些方法?
for循环,Iterator迭代和forEach循环。
3.同数组相比,vector有何特点?
可实现自动增长的对象数组。
4.Vector与ArrayList,LinkedList与ArrayList,Hashtable与HashMap,TreeMap与HashMap之间的共同点和区别。
5.Map、Collection、Iterator之间的关系如何?
Map接口实现者调用接口方法values()返回一个实现collection接口的集合对象的引用,collection接口的实现者有可调用iterator()方法返回一个实现Iterator接口的对象引用。
6.Collection和Collections各自的功能是什么?
Collection是集合类的基本接口,它用来说明作为一个集合类应有的结构特征属性和共性操作方法。
collections是一个util包下的工具类,其类不能被实例化,提供了许多实用的static方法。
7.现需要选择集合类,它存储的对象集合可以被多个线程维护(增加、删除),请问应该选择什么样的集合类,为什么?如果多个线程只是读取,而不维护,应该选择什么样的集合类,为什么?
8.如何实现集合对象排序?定义一个复数类并按照复数的实部大小对复数对象进行排序。