1.List接口下都有哪些集合,他们各自有什么特点
list集合下有ArrayList ,vector,linkedlist,
ArrayList 和vector底层都数组, 索引查询快,增删慢
linkedlist底层是链表,增删快 查询慢
2.Set接口下的集合是如何保证无序不可重复的
set接口下的集合是通过hascode和equals 来确定元素的唯一.
3.我们为什么要重写HashCode( )和equals()方法?
因为HashCode( )可以提供一个唯一的伪地址值,但是因为算法的原因,可能会出现hash碰撞,当发生hash碰撞时可以利用equals()方法对元素的内容进行判断
4.数据在存入Set集合的时候,是先判断HashCode()还是先判断equals(),为什么?
先判断hashcode因为HashCode返回的是int类型的值,判断起来比较快,
5.Comparable和Comparator两个接口的区别,哪种接口使用的多,为什么?
Comparable:强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的compareTo方法 被称为它的自然比较方法。只能在类中实现compareTo()一次,不能经常修改类的代码实现自己想要的排序。 Comparator强行对某个对象进行整体排序。可以将Comparator 传递给sort方法,
实际应用中用Comparator的比较多,因为随便的修改类中的方法不推荐. |
|
|