1.Set接口下的集合是如何保证无序不可重复的
答:
哈希表保证的。
2.我们为什么要重写HashCode( )和equals()方法?
答:
要保证Set集合的元素不可重复
3.数据在存入Set集合的时候,是先判断HashCode()还是先判断equals(),为什么?
答:
先判断HashCode()。因为先判断equals()的话,它会判断每一个数据的值,会减慢程序运行的效率,引入HashCode()可以先比较哈希值,如果哈希值相同则不需要比较每一个数据的值,大大提升了程序运行的效率。
4.Comparable和Comparator两个接口的区别,哪种接口使用的多,为什么?
答:
Comparable接口需要类先继承它,然后重写Comparetor方法
Comparator接口根据匿名内部类的形式创建,
Comparator接口使用的多,因为Comparable的耦合性太强
5.什么是泛型?使用泛型有什么好处?
答:
定义类、方法、接口的时候,指定的未知的数据类型
好处:
1、将运行时期的异常提前到了代码编译时期
2、避免了强转的麻烦,而且可以使用元素特有的方法
|