}
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
29. 下面代码的运行结果是( )
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异常
30. 下面关于泛型的说法不正确的是( )
a) 泛型的具体确定时间可以是在定义方法的时候 b) 泛型的具体确定时间可以是在创建对象的时候 c) 泛型的具体确定时间可以是在继承父类定义子类的时候 d) 泛型就是Object类型
注:具体指定时间,比如 List
多选题
31. 下面关于Collection 和 Collections的区别错误的是( )
a) Collections是集合顶层接口
b) Collection是针对Collections集合操作的工具类 c) List、Set、Map都继承自Collection接口 d) Collections是针对Collection集合操作的工具类
32. 关于泛型的说法正确的是( )
A. 泛型是JDK1.5出现的新特性 B. 泛型是一种安全机制
C. 使用泛型避免了强制类型转换 D. 使用泛型必须进行强制类型转换
33. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类
描述正确的是( )
A) ArrayList和LinkedList均实现了List接口 B) ArrayList的查询速度比LinkedList快 C) 添加和删除元素时,ArrayList的表现更佳
D) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
34. 下面的代码用于输出字符数组ch中每个字符出现的次数 public static void main(String[] args) {
}
应该填入位置①的代码是,不允许使用工具运行程序( ) a)
char[] ch = { 'a', 'c', 'a', 'b', 'c', 'b' }; HashMap map = new HashMap();
for (int i = 0; i < ch.length; i++) { }
System.out.println(map);
//位置①
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);
}
35. 下面的类是同步的有( )。
a) java.util.ArrayList b) java.util.Vector c) java.util.HashMap d) java.util.Hashtable
36. 下面关于HashMap和Hashtable的区别,说法正确的是( )
a) Hashtable线程不安全,效率高 b) HashMap线程安全,效率低 c) HashMap允许null键和值
d) Hashtable不允许null键和值
37. 按照课堂要求重写equals和hashCode后,下面关于这两个方法说法正确的是( )
a) 两个对象的hashCode值相同,那么他们调用equals()方法返回值一定为true b) 两个对象的hashCode值相同,那么他们调用equals()方法返回值可以为false c) hashCode值一般与对象的成员变量有关。
d) 只要重写equals方法,就一定要重写hashCode方法 38. 关于HashMap集合说法正确的是( )
A. HashMap集合是双列集合 B. HashMap集合不允许存储重复键 C. HashMap集合不允许存储重复值 D. HashMap集合线程是安全的
39. 在我们所学知识中,下面哪几项是接口( )
a) java.util.Map
b) java.util.Collection c) java.util.List d) java.util.Set
40. List集合的遍历方式有如下哪几种 ( )
A. Iterator迭代器实现 //开发使用这种方法 B. 增强for循环实现
C. get()和size()方法结合实现 D. get()和length()方法结合实现