61、List 和Map的区别
容器内每个为之所存储的元素个数不同。List 是Collection类型,每个位置只有一个元素。Map类型,持有 key-value 对
ps:下面的说法(List是存储单列数据的结合,Map是存储 键和值的双列数据的集合)
List 是有序的,允许重复
Map 是无序的,键是不能重复的,值可以重复
62、List、Set、Map是否继承自 Collection类
List 和Set是的,Map不是
63、List、Map、Set三个接口,存取元素时候的区别
1)List 和Set,每个位置只有一个元素
Map 存放的是键值对
2)List 是有序的,可以重复的,Set是无序的,不可重复的,Map 是无序的,键是不可重复的,值是可以重复的
64、ArrayList 、LinkedList、Vector的存储性能和特性
1)ArrayList 和Vector 都是 用数组的方式存储数据;可以直接根据下标索引元素,插入和删除涉及到移动内存;
所以查找元素较快,删除和插入元素较慢
2)Vector是线程安全的性能比 ArrayList差;
3)LinkedList是 采用双向链表存储,因此插入,删除较快,删除较慢
65、去掉一个Vector中的一个重复的元素
public class MyVector {
public static void main(String[] args) {
Vector<Integer> vector=new Vector();
vector.add(1);
vector.add(1);
vector.add(2);
vector.add(2);
Vector<Integer> newVector=new Vector();
for (int i=0;i<vector.size();i++){
int temp=vector.get(i);
if (!newVector.contains(temp)){
newVector.add(temp);
}
}
for (int i=0;i<newVector.size();i++){
System.out.println("第 "+i+"个元素 "+newVector.get(i));
}
}
}
66、Collection 和 Collections的区别
Collection是一个接口
Collections是一个工具类,提供了对集合操作的静态的方法
67、Set是不重复的,用什么方式来判断是否重复
68、集合类有哪些,主要方法
List下面的 ArrayList 和LinkedList ,主要的方法
size(); isEmpty() contains() get() add() remove() iterator()
Set 下面的 HashSet 和 TreeSet()
iterator() size() isEmpty() contains(Object o) add remove
69、两个对象的值相同 (x.equals(y)==true),但是却可以有不同的 hash code,对不对
对,如果这两个对象是存储在HashMap或者是 HashSet 中的,equals相等,hashcode 必须相等;
但是如果不是,hashcode就没关系了(ps:为什么没关系了呢????)此时的hashcode 是可以不等的
例如 ArrayList 存储的对象不用实现 hashcode
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,你要比较此时的使用父类的比较方法还是子类的比较方法
当前add 是谁的对象,就是调用谁的方法