你的位置:首页 > Java教程

[Java教程]传智Java集合+IO 部分知识测试


 

集合+IO 部分

共40道选择题,每题2.5分。多选题有错则全错,全对才满分.

 

  1. 单列集合的顶层接口是(    )b

a)     Map

b)     Collection

c)     List

d)     Set

 

  1. ArrayList类的底层数据结构是(    )A

a)     数组结构

b)     链表结构

c)     哈希表结构

d)     红黑树结构

 

  1. LinkedList类的特点是(    )B

a)     查询快

b)     增删快

c)     元素不重复

d)     元素自然排序

 

  1. Vector类的特点是(    )A

a)     线程同步

b)     线程不同步

c)     增删快

d)     底层是链表结构

  1. 关于迭代器说法错误的是(    )D

a)     迭代器是取出集合元素的方式

b)     迭代器的hasNext()方法返回值是布尔类型

c)     List集合有特有迭代器

d)     next()方法将返回集合中的上一个元素

 

  1. FileReader类描述正确的是(    )B

a)     字节输入流

b)     字符输入流

c)     打印流

d)     序列化流

 

  1. 具有readLine()方法的类是(    )D

a)     FileWriter

b)     InputStreamReader

c)     FileReader

d)     BufferedReader

 

 

  1. 关于newLine()方法描述错误的是(    )C

a)     newLine()方法写入换行

b)     newLine()方法与操作系统平台无关

c)     newLine()方法是FileWiter类的方法

d)     newLine()方法是BufferedWriter类的方法

 

  1. 下面代码运行的结果是(    )A

ArrayList<String> al = new ArrayList<String>();

al.add(true);

al.add(123);

al.add(“abc”);

System.out.println(al);

a)     编译失败

b)     [true,123]

c)     [true,123,abc];

d)     [abc];

 

10. 实现下列哪个接口,可以启用序列化功能(    )C

a)     Runnable接口

b)     Comparable接口

c)     Serializable接口

d)     Comparator接口

 

11. 字节输出流的抽象基类是(     )A

a)     OutputStream类

b)     InputStream类

c)     Writer类

d)     Reader类

 

12. 下面程序的运行结果是(    )D

  FileOutputStream fos = new FileOutputStream(“c:\\demo.txt”);

  fos.write(“abc”);

  fos.close();

a)     在C盘创建文件demo.txt,但文件是空的

b)     在C盘创建文件demo.txt,并写入数据abc

c)     将C盘已有的文件demo.txt中追加写入abc

d)     编译失败

 

 

13. 将Map集合中的键存储到Set集合的方法是(    )C

a)     entrySet()

b)     get()

c)     keySet()

d)     put()

 

14. ArrayList和Vector的区别说法正确的是(    )B

a)     ArrayList是线程安全的,Vector是线程不安全

b)     ArrayList是线程不安全的,Vector是线程安全的

c)     ArrayList底层是数组结构,Vector底层是链表结构

d)     ArrayList底层是链表结构,Vector底层是数组结构

 

15. 存储到TreeSet集合中的对象必须具有(     )A

a)     必须实现Comparable接口

b)     main方法

c)     get和set方法

d)     必须实现Serializable接口

 

16. 将集合转成数组的方法是(    )C

a)     asList()

b)     toCharArray()

c)     toArray()

d)     copy()

 

17. 对于增强for循环说法错误的是(     )A

a)     增强for循环可以直接遍历Map集合

b)     增强for循环可以操作数组

c)     增强for循环可以操作Collection集合

d)     增强for循环是JDK1.5版本后出现的

 

18. 对于HashMap集合说法正确的是(     )C

a)     底层是数组结构

b)     底层是链表结构

c)     可以存储null值和null键

d)     不可以存储null值和null键

 

19. Collections工具类中的binarySearch()方法描述正确的是(     )B

a)     binarySearch()方法只能操作Set集合

b)     binarySearch()方法只能操作List集合

c)     binarySearch()方法只能操作Map集合

d)     binarySearch()可以操作所有的集合

 

20. 下面代码的运行结果是(     )D

  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异常

 

21. Properties类中的哪个方法可以和IO流相关联(     )C

a)     getProperty()

b)     setProperty()

c)     load()

d)     stringPropertyNames()

 

22. 以下哪两个流对象可以实现任意类型文件的成功复制(     )B

a)     FileReader 和 FileWriter

b)     FileInputStream和FileOutputStream

c)     BufferedReader和 BufferedWriter

d)     InputSteamReader和OutputStreamWriter

 

23. 下面哪个流是字节通向字符的桥梁(     )A

a)     InputStreamReader

b)     OutputStreamWriter

c)     LineNumberReader

d)     ObjectInputStream

 

24. 关于对象的序列化说法错误的是(     )B

a)     实现序列化的对象必须实现Serializable接口

b)     实现序列化的对象必须自定义序列号

c)     ObjectOutputStream中的writeObject()方法可以将对象写出

d)     ObjectInputStream中的readObject()方法可以读取对象

 

25. 关于Map.Entry接口说法错误的是(     )C

a)     具有getkey()方法

b)     具有getValue()方法

c)     具有keySet()方法

d)     具有setValue()方法

 

26. Set集合的特点是(     )B

a)     元素有序

b)     元素无序,不存储重复元素

c)     存储重复元素

d)     Set集合都是线程安全的

 

27. 关于将数组转成集合后,不可以进行的操作是(     )A

a)     增加集合中的元素

b)     迭代集合

c)     修改集合中的元素

d)     获取集合中元素的个数

 

28. 下面代码运行的结果是(     )B

        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)     运行报错

 

29. 关于字符输入流FileReader描述错误的是(    C )

a)     可以读取文本文件

b)     是Reader的子类

c)     具有读取一行的方法

d)     无法获得要读取文件的字节数

 

30. 使用字符流可以成功复制哪些文件(     )A

a)     文本文件

b)     图片文件

c)     视频文件

d)     以上都可以复制

 

以下题目为多项选择

31. File类中的listFiles()方法说法正确的是(     )AC

a)     获取File对象封装的路径下的全部文件和文件夹对象

b)     只获取File对象封装的路径下的文件

c)     该方法返回File类型数组

d)     该方法返回String类型数组

 

32. 关于File类中的exists()方法说法错误的是(     )CD

a)     判断File对象中封装的路径或者文件是否存在

b)     此方法返回boolean类型值

c)     判断File对象封装的路径是否是相对路径

d)     判断File对象封装的路径是否是绝对路径

 

33. File类中的isDirectory()方法的作用是(     )BD

a)     判断File对象封装的是否是文件

b)     判断File对象封装的是否是目录

c)     判断File对象中封装的是否是根目录

d)     返回值类型是boolean

 

34. 关于HashMap集合说法正确的是(     )AB

a)     HashMap集合是双列集合

b)     HashMap集合不允许存储重复键

c)     HashMap集合不允许存储重复值

d)     HashMap集合线程是安全的

 

35. 下列哪两个方法可以创建目录(     )CD

a)     createNewFile()

b)     createTempFile()

c)     mkdir()

d)     mkdirs()

 

36. 关于打印流PrintWriter说法正确的是(     )ACD

a)     该流只操作数据目的,不操作数据源

b)     该流只操作数据源,不操作数据目的

c)     如果启用了自动刷新,该流调用println()方法时可以自动刷新

d)     该流是Writer的子类

 

37. 关于泛型的说法正确的是(     )ABC

a)     泛型是JDK1.5出现的新特性

b)     泛型是一种安全机制

c)     使用泛型避免了强制类型转换

d)     使用泛型必须进行强制类型转换

 

38. 关于Properties说法正确的是(     )ABC

a)     是Hashtable的子类

b)     是双列集合

c)     可以和IO结合使用

d)     是HashMap的子类

 

39. 关于方法的递归算法,说法正确的是(    )ABD

a)     递归就是方法自己调用自己

b)     递归的次数不能过大,否则会导致栈内存溢出

c)     使用递归算法,方法必须有返回值

d)     构造方法不可以使用递归算法

 

40. List集合的遍历方式有如下哪几种 (     )ABC

a)     Iterator迭代器实现

b)     增强for循环实现

c)      get()和size()方法结合实现

d)     get()和length()方法结合实现