4. Java集合知识测试 - B卷 联系客服

发布时间 : 星期日 文章4. Java集合知识测试 - B卷更新完毕开始阅读0a184004df80d4d8d15abe23482fb4daa58d1d1e

}

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 list = new ArrayList();就是在new一个ArrayList的时候确定了泛型的类型

多选题

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()方法结合实现