A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.List接口下都有哪些集合,他们各自有什么特点
ArrayList: 底层居于数组的栈类型结构,查询速度快,增删效率低。
LinkedList:底层居于链表格式类型的结构,查询速度慢,增删快。
Vector:同ArrayList,但是操作是单线程的,效率低。

2.Set接口下的集合是如何保证无序不可重复的


Set通过hashCode和equals方法实现元素不重复。
由于是通过哈希值来确定元素的存储位置,所以是无序的。


3.我们为什么要重写HashCode( )和equals()方法?


默认的HashCode() 方法比较的是默认的对象地址值,为了确保对象的唯一性,需要重写HashCode()和equals()方法。


4.数据在存入Set集合的时候,是先判断HashCode()还是先判断equals(),为什么?


先判断HashCode,在HashCode不同的时候才调用equals()方法。hashcode是调用根据哈希算法的本地方法产生哈希值,比较能确保唯一性,效率高。




5.Comparable和Comparator两个接口的区别,哪种接口使用的多,为什么?


comparable 强行对实现它的每个类的对象进行整体排序,不能修改类的代码实现自己想要的排序,
用Collections.sort或者Arrays.sort进行自动排序,无需指定比较器
Comparator 可以将 Comparator 传递给sort方法,从而允许在排序顺序上实现精确控制。







lijionghua


回复 使用道具 举报
1.List接口下都有哪些集合,他们各自有什么特点
ArrayList: 底层居于数组的栈类型结构,查询速度快,增删效率低。
LinkedList:底层居于链表格式类型的结构,查询速度慢,增删快。
Vector:同ArrayList,但是操作是单线程的,效率低。


2.Set接口下的集合是如何保证无序不可重复的

Set通过hashCode和equals方法实现元素不重复。
由于是通过哈希值来确定元素的存储位置,所以是无序的。



3.我们为什么要重写HashCode( )和equals()方法?

默认的HashCode() 方法比较的是默认的对象地址值,为了确保对象的唯一性,需要重写HashCode()和equals()方法。


4.数据在存入Set集合的时候,是先判断HashCode()还是先判断equals(),为什么?

先判断HashCode,在HashCode不同的时候才调用equals()方法。hashcode是调用根据哈希算法的本地方法产生哈希值,比较能确保唯一性,效率高。


5.Comparable和Comparator两个接口的区别,哪种接口使用的多,为什么?

comparable 强行对实现它的每个类的对象进行整体排序,不能修改类的代码实现自己想要的排序,
用Collections.sort或者Arrays.sort进行自动排序,无需指定比较器
Comparator 可以将 Comparator 传递给sort方法,从而允许在排序顺序上实现精确控制。

lijionghua
回复 使用道具 举报
1.List接口下都有哪些集合,他们各自有什么特点
ArrayList: 底层居于数组的栈类型结构,查询速度快,增删效率低。
LinkedList:底层居于链表格式类型的结构,查询速度慢,增删快。
Vector:同ArrayList,但是操作是单线程的,效率低。


2.Set接口下的集合是如何保证无序不可重复的

Set通过hashCode和equals方法实现元素不重复。
由于是通过哈希值来确定元素的存储位置,所以是无序的。



3.我们为什么要重写HashCode( )和equals()方法?

默认的HashCode() 方法比较的是默认的对象地址值,为了确保对象的唯一性,需要重写HashCode()和equals()方法。


4.数据在存入Set集合的时候,是先判断HashCode()还是先判断equals(),为什么?

先判断HashCode,在HashCode不同的时候才调用equals()方法。hashcode是调用根据哈希算法的本地方法产生哈希值,比较能确保唯一性,效率高。


5.Comparable和Comparator两个接口的区别,哪种接口使用的多,为什么?

comparable 强行对实现它的每个类的对象进行整体排序,不能修改类的代码实现自己想要的排序,
用Collections.sort或者Arrays.sort进行自动排序,无需指定比较器
Comparator 可以将 Comparator 传递给sort方法,从而允许在排序顺序上实现精确控制。

lijionghua
回复 使用道具 举报
1.List接口下都有哪些集合,他们各自有什么特点
ArrayList: 底层居于数组的栈类型结构,查询速度快,增删效率低。
LinkedList:底层居于链表格式类型的结构,查询速度慢,增删快。
Vector:同ArrayList,但是操作是单线程的,效率低。

2.Set接口下的集合是如何保证无序不可重复的

Set通过hashCode和equals方法实现元素不重复。
由于是通过哈希值来确定元素的存储位置,所以是无序的。

3.我们为什么要重写HashCode( )和equals()方法?

默认的HashCode() 方法比较的是默认的对象地址值,为了确保对象的唯一性,需要重写HashCode()和equals()方法。

4.数据在存入Set集合的时候,是先判断HashCode()还是先判断equals(),为什么?

先判断HashCode,在HashCode不同的时候才调用equals()方法。hashcode是调用根据哈希算法的本地方法产生哈希值,比较能确保唯一性,效率高。

5.Comparable和Comparator两个接口的区别,哪种接口使用的多,为什么?

comparable 强行对实现它的每个类的对象进行整体排序,不能修改类的代码实现自己想要的排序,
用Collections.sort或者Arrays.sort进行自动排序,无需指定比较器
Comparator 可以将 Comparator 传递给sort方法,从而允许在排序顺序上实现精确控制。

lijionghua
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马