问题1:
HashSet子类依靠()方法区分重复元素。
hashCode(),equals()
解析:
HashSet的底层还是用HashMap来实现的。
将Entry<K,V>的V都变成了同一个Object对象,public static final PRESENT = new Object()。
而HashMap的数据结构是数组+链表+红黑树。
调用K的hashCode方法,然后高低16位进行&运算。
得到的hash值,与数组tab[](桶)的长度-1进行&运算,确定插入对象在哪一个桶上。
然后调用对象的equals方法,形成链表。当链表长度大于8时,链表转红黑树。
问题2:
在Java中,下列说法错误的有( )
正确答案: B C D 你的答案: B C (错误)
数组是一种对象
数组属于一种原生类
int number = []{31,23,33,43,35,63};
数组的大小可以任意改变
解析:
java中的数据类型分类:
基本数据类型(或叫做原生类、内置类型)8种:
整数:byte,short,int,long(默认是int类型)
浮点类型: float,double(默认是double类型)
字符类型:char
布尔类型:boolean
引用数据类型3种:数组,类,接口
拓展:
oUpperCase() 方法返回一个将调用字符串转换为大写形式的值。(如果这个值不是字符串则会被变成字符串)