21. 按照课堂要求重写equals和hashCode后,下面关于这两个方法说法正确的是( )
a) 两个对象的hashCode值相同,那么他们调用equals()方法返回值一定为true
b) 两个对象的hashCode值相同,那么他们调用equals()方法返回值可以为false
c) hashCode值一般与对象的成员变量有关
d) 只要重写equals方法,就一定要重写hashCode方法
22. 父类声明:public class FXfather<T>{….}
现在要定义一个Fxfather的子类son,下面定义错误的是( )
a) class Son extends FXfather<String>{}
b) class Son<T,V> extends FXfather<T>{}
c) class Son<String> extends FXfather<String>{}
d) class Son<String> extends FXfather<T>{}
23. ArrayList类的底层数据结构是( )
a) 数组结构
b) 链表结构
c) 哈希表结构
d) 红黑树结构
24. 应用程序的main方法中有以下语句(请参看API文档)
Hashtable hashtable=new Hashtable();
hashtable.put("100","aaa");
hashtable.put("200","bbb");
hashtable.put("300","ccc");
System.out.println(hashtable.get("300").toString()
+ hashtable.get("200").toString()
+ hashtable.get("100").toString());
则输出的结果是 ( )
a) 编译失败
b) bbb
c) ccc
d) cccbbbaaa
25. 关于将int数组使用系统提供的API转成集合后,不可以进行的操作是( )
a) 增加集合中的元素
b) 迭代集合
c) 修改集合中的元素
d) 获取集合中元素的个数
26. 下面代码运行的结果是( )
ArrayList<String> al = new ArrayList<>();
al.add("s");
al.add("ddd");
al.add("true");
System.out.println(al);
a) 编译失败
b) [s,ddd,true]
c) [true]
d) 运行报错
27. 关于HashMap集合说法正确的是( )
a) HashMap集合是双列集合
b) HashMap集合不允许存储重复键
c) HashMap集合不允许存储重复值
d) HashMap集合线程是安全的
28. 题示代码的功能为:循环遍历输出Map当中的每一个元素
Map map=new HashMap(); map.put(“jessica”,100); map.put(“tom”,200); map.put(“den”,300); Set 位置① set = 位置②; for ( 位置③ per : set) { System.out.println(per.getKey() + ":" + per.getValue()); }
下列每个选项中分别填入上面三个位置,正确的是( ) a) <Entry> map.keySet() Entry b) <Entry<Integer, String >> map.entrySet() Entry c) <Map.Entry<String, Integer>> map.keySet() Map.Entry d) <Map.Entry<String, Integer>> map.entrySet()
Map.Entry
29. 下面类或者接口中,不属于集合体系的是( )
a) java.util.Collections
b) java.util.Map
c) java.util.Vector
d) java.util.Hashtable
30. 关于Map.Entry接口说法错误的是( )
a) 具有getkey()方法
b) 具有getValue()方法
c) 具有keySet()方法
d) 具有setValue( )方法
31. 下列代码
public class Base {
private void test() {
String aStr = "_One_";
String bStr = aStr;
bStr = aStr.trim();
System.out.println("[" + aStr + "," + bStr + "]");
}
static public void main(String[] a) {
new Base().test();
}
}
其中“_”表示一个空格,运行的结果是( )
a) [One,_One_] b) [_One_,One] c) [One,One]
d) [_One_,_One_]
32. 在Java中,( )类可用于创建链表数据结构的对象
a) LinkedList
b) ArrayList
c) Collection
d) HashMap
33. 以下能以键_值对的方式存储对象的接口是( )
a) java.util.Collection
b) java.util.Map
c) java.util.HashMap
d) java.util.Set
34. 在我们所学知识中,下面哪几项是接口( )
a) java.util.Map
b) java.util.Collection
c) java.util.List
d) java.util.Set
35. List集合的遍历方式有如下哪几种 ( )
a) Iterator迭代器实现
b) 增强for循环实现
c) get()和size()方法结合实现
d) get()和length()方法结合实现
36. 题示代码的功能为:对于一个存放Person对象的ArrayList进行循 环遍历。并输出每个Person对象的idCard和userName。
public class Person{ private Long idCard; pirvate String userName; //以下是getter和setter方法 //省略 }
List list=new ArrayList(); Person p1=new Person(); p1.setIdCard(new Long(1001)); p1.setUserName(“terry”); Person p2=new Person(); p2.setIdCard(new Long(1002)); p2.setUserName(“tom”); list.add(p1); list.add(p2); for( 位置① ){ System.out.println(person.getIdCard()+”:”+person.getUserName()); }
那么位置①处的代码为 a) List list:person b) List list:Person c) Person person:List d) Person person:list
37. 下面代码的运行结果是( )
ArrayList al = new ArrayList();
al.add(“a”);
al.add(“b”);
al.add(“c”);
Iterator it = al.iterator();
while(it.hasNext()){
String s = (String)it.next();
if(s.equals(“c”)){
al.add(“c1”);
}
}
System.out.println(al);
a) [a,b,c]
b) [c1]
c) [a,b,c,c1]
d) 抛出ConcurrentModificationException异常
38. 下面关于泛型的说法不正确的是( )
a) 泛型的具体确定时间可以是在定义方法的时候
b) 泛型的具体确定时间可以是在创建对象的时候
c) 泛型的具体确定时间可以是在继承父类定义子类的时候
d) 泛型就是Object类型
39. 下面关于Collection 和 Collections的区别错误的是( )
a) Collections是集合顶层接口
b) Collection是针对Collections集合操作的工具类
c) List、Set、Map都继承自Collection接口
d) Collections是针对Collection集合操作的工具类
40. 关于泛型的说法正确的是( )
a) 泛型是JDK1.5出现的新特性
b) 泛型是一种安全机制
c) 使用泛型避免了强制类型转换
d) 使用泛型必须进行强制类型转换
|
|