多项选择题
关于hashCode的常规协定描述正确的是哪些()
A.在Java应用程序执行期间,在对同一对象多次调用hashCode方法时,必须一致地返回相同的整数,前提是将对象进行equals比较时所用的信息没有被修改。从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致
B.如果根据equals(Object)方法,两个对象是相等的,那么对这两个对象中的每个对象调用hashCode方法都必须生成相同的整数结果
C.如果根据equals(java.lang.Object)方法,两个对象不相等,那么对这两个对象中的任一对象上调用hashCode方法不要求一定生成不同的整数结果。但是,程序员应该意识到,为不相等的对象生成不同整数结果可以提高哈希表的性能
D.一般来说a==b的话,他们的hashcode就相同了
相关考题
-
多项选择题
有关TreeSet集合的说法正确的是()
A.底层数据结构是红黑树
B.元素可重复
C.可以通过自然排序对元素进行排序
D.可以通过比较器排序对元素进行排序 -
多项选择题
执行代码片段,用于输出字符数组ch中每个字符出现的次数publicstaticvoidmain(String[]args){char[]ch={’a’,’c’,’a’,’b’,’c’,’b’};HashMapmap=newHashMap();for(inti=0;i<ch.length;i++){//位置①}System.out.println(map);}此时填入位置①的代码是()
A.if(map.contains(ch[i])){map.put(ch[i],map.get(ch[i])+1);}else{map.put(ch[i],1);}
B.if(map.contains(ch[i])){map.put(ch[i],(Integer)map.get(ch[i])+1);}else{map.put(ch[i],1);}
C.if(map.containsKey(ch[i])){map.put(ch[i],(int)map.get(ch[i])+1);}else{map.put(ch[i],1);}
D.if(map.containsKey(ch[i])){map.put(ch[i],(Integer)map.get(ch[i])+1);}else{map.put(ch[i],1);} -
单项选择题
下列的选项中关于Set集合的特点的说法正确的是()?
A.其元素无序,且不可重复
B.有顺序,元素可以重复
C.底层用数组实现的
D.其元素是键值对方式
