1、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别
它们使用hashcode来区分是否重复,首先通过hashcode来判断是否重复,如果hashcode重复则判断equals是否相同则添加失败,不相同则添加到相同hashcode地方
2、List, Set, Map是否继承自Collection接口
List和set继承自Collection每个位置只有一个元素
map小型数据库拥有key----value键值对可以实现collection
3、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对
这句话不对,set若对象值中equals相同则添加失败,会提前判断拥有相同的hashcode;
4、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList存储性能较高,通过数组方式实现有序集合,查询与删除不容易;
LinkedList存储性能一般,通过链表形式存储,删除非常方便查找困难
Vector使用了sychronized方法(线程安全),所以在性能上比ArrayList要差些.
5、ArrayList和Vector的区别
1).同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程不安全的,不是同步的
2).数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
6、创建ArrayList实例化对象,添加10个以上的元素,在2号位插入一个元素,获得5号位元素,删除6号位元素,修改7号位的元素
imp