第六周课堂测试
1、现有以下代码,哪些选项插入到第5行可以通过编译?(BDF)
1.import java.util.*;
2.
3.Class FindStuff {
4.public static void main (String[]args) {
5.//insert code here
6.c.put ("X", 123);
7. }
8.}
A .Map c= new SortedMap();
B .HashMap c= new HashMap();
C .HashMap c= new Hashtable();
D .SortedMap c= new TreeMap();
E .ArrayList c= new ArrayList();
F .Map c = new LinkedHashMap();
2、已知list是一个合法的集合引用,getCollection()返回一个合法集合的引用,下列合法的是?(BE)
A .for(Object o : list)
B .for(Object o : getCollection())
C .for(Object o : list.iterator())
D .for(lterator i ; list.iterator() ; i.hasNext() )
E .for(lterator i=list.iterator(); i.hasNext(); )
3、现有以下代码,哪个选项插入将输出“abc”?(D)
class ForInTest {
static List list=new ArrayList();
public static void main (String [] args) {
list. add("a"); list. add("b");list. add( "c");
//insert code here
System.out.print (o);
}
}
A .for (Iterator o : list.iterator(); o.hasNext (); )
B .for (Iterator o : list)
C .for (Object o : list.iterator())
D .for (Object o : list)
4、以下代码的输出结果为(C)
public class Demo{
public static void main (String[] args){
List al=new ArrayList();
a1.add("l");
a1.add("2");
a1.add("2");
a1.add("3");
System.out.println (al);
}
}
A .[1,2,3]
B .[1,2,3,3]
C .[1,2,2,3]
D .[2,1,3,2]
5、创建一个只能存放String的泛型ArrayList的语句是哪项?(B)
A .ArrayList al=new ArrayList();
B .ArrayList al=new ArrayList()
C .ArrayList al=new ArrayList();
D .ArrayList al =new List();
6、下列哪些项是泛型的优点?(AC)
A .不用向下强制类型转换
B .代码容易编写
C .类型安全
D .运行速度快
7、List接口的特点是?(C)
A .不允许重复元素,元素无顺序
B .不允许重复元素,元素有顺序
C .允许重复元素,元素有顺序
D .允许重复元素,元素无顺序
8、表示键值对概念的接口是?(D)
A .Set
B .List
C .Collection
D .Map
9、实现了Set接口的类是哪项?(C)
A .ArrayList
B .HashTable
C .HashSet
D .Collection
10、集合API 中Set接口的特点是?(D)
A .不允许重复元素,元素有顺序
B .允许重复元素,元素无顺序
C .允许重复元素,元素有顺序
D .不允许重复元素,元素无顺序
11、下列关于泛型类的子类的说法,正确的个数为(B)
①LinkedList泛型类创建一个链表结构的对象。
②Stack泛型类创建一个堆栈对象。
③HashMap泛型类创建散列映射。
④DelayQueue泛型类创建一个*阻塞队列。
⑤TreeSet泛型类创建树映射。
⑥Vector创建可增长的对象数组。
A .6
B .5
C .4
D .3
12、下列关于LinkedList泛型类常用方法的介绍,正确的是(ABCD)
A .public E getLast()返回此列表的最后一个元素。如果此列表为空,则抛出NoSuchElementException。
B .public void addFirst(E e) 将指定元素插入此列表的开头。e为要添加的元素。
C .public boolean add(E e)等效于addLast(E)。
D .public boolean remove(Object o) 覆盖类 AbstractCollection 中的 remove。
13、下列关于HashMap泛型类常用方法的介绍,正确的是(AD)
A .public boolean isEmpty()如果此映射不包含键-值映射关系,则返回 true。
B .public V get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则抛出异常。
C .public V put(K key, V value) 在此映射中关联指定值与指定键。如果该映射以前包含了一个该键的映射关系,则以先定义的值为准。
D .public Object clone()返回此 HashMap 实例的浅表副本:并不复制键和值本身。
14、下列关于TreeSet泛型类常用方法的介绍,正确的是(BCD)
A .public boolean contains(Object o) 如果此 set 包含指定的元素,则返回 true。如果指定对象无法与该 set 中的当前元素进行比较,或不包含,则返回false。
B .public boolean add(E e)将指定的元素添加到此 set。如果此 set 已经包含这样的元素,则该调用不改变此 set 并返回 false。
C .public boolean addAll(Collection<? extends E> c)将指定 collection 中的所有元素添加到此 set 中。如果此 set 由于调用而发生更改,则返回 true。
D .public E lower(E e) 返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。
15、下列关于TreeMap泛型类常用方法的介绍,错误的是(C)
A .public K firstKey()返回此映射中当前第一个(最低)键。
B .public void clear()从此映射中移除所有映射关系。在此调用返回之后,映射将为空。
C .public Object clone()返回此 TreeMap 实例的浅表副本。(键和值本身也被复制。)
D .public Collection values()返回此映射包含的值的 Collection 视图。该 collection 的迭代器将按相关键的升序返回这些值。
16、Stack泛型类中的public int search(Object o)返回对象在堆栈中的位置,以 1 为基数。如果对象 o 是堆栈中的一个项,此方法返回距堆栈顶部最近的出现位置到堆栈顶部的距离;返回值 -1 表示此对象不在堆栈中。(A)
A .true
B .false
17、链表调用get(int index)方法的速度比顺序存储结构的集合调用get(int index)方法的速度快。(B)
A .true
B .false
18、ArrayList使用顺序结构,LinkedList使用链式结构。(A)
A .true
B .false
19、如果链表中存放的对象不是字符串数据,那么创建对象的类必须实现Comparable接口。(A)
A .true
B .false
20、下列关于String类的说法,正确的是(AB)
A .String类为final类,不能拥有子类。
B .String常量对象是用双引号括起的字符序列。
C .在String s = new String(“Hello!”);中,对象变量s中存放的是实体。
D .System.out.println(s);可以输出String对象的引用。
21、下列值不为true的表达式是(C)
A ."john" = = "john"
B ."john".equals("john")
C ."john" = "john"
D ."john".equals(new String("john"))
22、下列属于引用数据类型的是(AC)
A .String
B .char
C .用户自定义的Student类类型
D .int
23、实体相同但引用不同的两个字符串,使用“==”比较结果为false。(A)
A .true
B .false
24、使用构造方法String(byte[] bytes, int offset, int length, Charset charset),通过使用指定的 charset 解码指定的 byte 子数组,构造一个新的 String。其中,offset 参数是子数组第一个字符的索引,count 参数指定子数组的长度。(A)
A .true
B .false
25、下列说法错误的是(C)
A .两个常量进行并置运算,得到的仍是常量。
B .并置时只要有一个是变量,Java就会在动态区存放所得到的信String对象的实体和引用。
C .P177的程序运行后,testOne.equals(testTwo)的结果为false。
D.testTwo.equals(you+hi)的结果为true。
26、String类中的length()方法用来获取一个String对象的字符序列的长度,单位为字节。(B)
A .true
B .false
27、观察下列代码,输出结果全部正确的一组是(E)
String s1 = "Let'sJava";
String s2 = new String("Let'sJava");
String s3 = "Let's.*";
String s4 = "Let's";
out.println(s1 == s2);//①
out.println(s1.equals(s2));//②
out.println(s1.matches(s3));//③
out.println(s1.contains(s3));//④
out.println(s1.contains(s4));//⑤
A .①false;②true;③false;④true;⑤true
B .①true;②true;③true;④true;⑤false;
C .①false;②false;③false;④false;⑤true
D .①false;②true;③true;④false;⑤false
E .①false;②true;③true;④false;⑤true
F .①false;②true;③false;④true;⑤true
28、public boolean startsWith(String prefix)方法,如果参数是空字符串,则抛出异常。(B)
A .true
B .false
29、下列关于public int compareTo(String anotherString)的说法,正确的是(ACDE)
A .按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode值。
B .如果按字典顺序此 String 对象位于参数字符串之前,则比较结果为一个正整数。
C .如果它们在一个或多个索引位置上的字符不同,假设 k 是这类索引的最小值,compareTo 返回这两个字符串在位置 k 处两个char 值的差,即值:this.charAt(k)-anotherString.charAt(k)
D .如果没有字符不同的索引位置,则较短字符串的字典顺序在较长字符串之前。在这种情况下,compareTo 返回这两个字符串长度的差
E .compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
30、对于String s1 = "c:\book\ java programmer.doc",lastIndexOf("\\")的值为7.(B)
A .true
B .false
31、下列关于substring方法的说法,正确的是(ACD)
A .public String substring(int beginIndex)返回的子字符串从指定索引处的字符开始,直到此字符串末尾。
B .public String substring(int beginIndex, int endIndex) 子字符串从指定的 beginIndex 处开始,直到索引 endIndex处的字符。
C ."emptiness".substring(9)返回值为""。
D ."smiles".substring(1, 5)返回值为"mile"。
E .若beginIndex 大于 endIndex,则substring(int beginIndex, int endIndex)返回-1。
32、下列说法错误的是(D)
A .java.util包中的Data类重写了toString()方法。
B .Arrays和Point都继承了toString方法。
C .调用x.toString()方法的地方可以用""+x代替。
D .定义int[] Numbers = {1, 2, 3}; String s1 = ""+Numbers;,则System.out.println(s1);调用了toString方法,可以将数组输出。
33、下列关于字符串与字符数组、字节数组的说法,正确的是(ACD)
A .getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)方法的返回值为空。
B .srcEnd是字符串中要复制的最后一个字符的索引。
C .srcBegin 大于 srcEnd时,会抛出IndexOutOfBoundsException异常。
D .要复制到 dst 子数组的字符从索引 dstBegin 处开始,并结束于索引dstbegin + (srcEnd-srcBegin) - 1
34、下列关于正则表达式的说法,正确的是(ABDE)
A .\ba\w*\b匹配以字母a开头的单词
B .\d+匹配1个或更多连续的数字。
C .\b\w{6}\b 匹配6个及以上字符的单词。
D .[0-9]代表的含意与\d就是完全一致的:一位数字
E .\S+匹配不包含空白符的字符串。
F .(\d{1,3}.){3}\d{1,3}用来匹配 IP地址。
35、下列通过测试的断言语句有几个?(B)
①assertEquals(true, "123".matches("\d+"));
②assertEquals(true, "3.5".matches("\d\.\d"));
③assertEquals(true, "C:\Windows".matches("C:\Windows"));
④assertEquals(true, "hello hello".matches("\b(?\w+)\b\s+\k\b"));
⑤assertEquals("rplcmnt","replacement".replaceAll("[aeiou]","*"));
⑥assertEquals(true, ""Hello"".matches("(["'])[^"']*\1"));
⑦assertEquals("##","xfooxxxxxxfoo".replaceAll(".*?foo","#"));
⑧assertEquals("Let's meet at [TIME].","Let's meet at 12:38.".replaceAll("((1|0?)[0-9]|2[0-3])