本帖最后由 zhaodecang 于 2016-6-8 19:38 编辑 单选题:(每道题目2分) 1. ArrayList类的底层数据结构是( ) a) 数组结构 b) 链表结构 c) 哈希表结构 d) 红黑树结构
List 接口的大小可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。 ArrayList 构造一个初始容量为 10 的空列表 |
2. LinkedList类的特点是( ) a) 查询快 b) 增删快 c) 元素不重复 d) 元素自然排序 链接列表实现。 3. Vector类的特点是( ) a) 线程同步 b) 线程不同步 c) 增删快 d) 底层是链表结构 4. 关于迭代器说法错误的是( ) a) 迭代器是取出集合元素的方式 b) 迭代器的hasNext()方法返回值是布尔类型 c) List集合有特有迭代器 d) next()方法将返回集合中的上一个元素
方法摘要 |
boolean |
hasNext() 如果仍有元素可以迭代,则返回 true。 |
E |
next() 返回迭代的下一个元素。 |
5. FileReader类描述正确的是( ) a) 字节输入流 b) 字符输入流 c) 打印流 d) 序列化流 6. 具有readLine()方法的类是( ) a) FileWriter b) InputStreamReader c) FileReader d) BufferedReader FileReader :字符输入流 FileWriter :字符输出流: InputStreamReader (InputStrream in) read() reader(char[] cbuf,int offset,int) length) 是连接字节流通向字符流的桥梁 为了最高效率: BufferReader in= new BufferReader(new InputStreamReader(System.in)); 7. 关于newLine()方法描述错误的是( ) a) newLine()方法写入换行 b) newLine()方法与操作系统平台无关 c) newLine()方法是FileWiter类的方法 d) newLine()方法是BufferedWriter类的方法 8. 下面代码运行的结果是( ) ArrayList al = new ArrayList();al.add(true); al.add(123); al.add(“abc”); System.out.println(al); a) 编译失败 b) [true,123] c) [true,123,abc]; d) [abc]; 只能存储引用数据类型 boolean 是基本数据类型 9. 实现下列哪个接口,可以启用序列化功能( ) a) Runnable接口 b) Comparable接口 c) Serializable接口 d) Comparator接口 Runnablle 是 实现线程 Comparable 自然排序: compareTo(T o) 返回值 -1 ,0 , 1 Serializable 序列化sort Collections.sort Arrays.sort Comparator 强行对某个Collection 对象进行整体排序的比较,可以将 Comparator 传递给 compare(T o1,To2) 升序 :o1-o2 降序:o2-o1 10. 字节输出流的抽象基类是( ) a) OutputStream类 b) InputStream类 c) Writer类 d) Reader类 OutputStream 字节输出流 InputStream 字节输入流 Writer 字符输出流 Reader 字符输入流 11. 下面程序的运行结果是( ) 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) 编译失败 构造方法: FileOutputStream(Outputstream out) write(byte[] b) write("abc".getBytes()); 12. 将Map集合中的键存储到Set集合的方法是( ) a) entrySet() b) get() c) keySet() d) put() keySet(): 返回包含键的Set视图 Set> entrySet(); 13. ArrayList和Vector的区别说法正确的是( ) a) ArrayList是线程安全的,Vector是线程不安全 b) ArrayList是线程不安全的,Vector是线程安全的 c) ArrayList底层是数组结构,Vector底层是链表结构 d) ArrayList底层是链表结构,Vector底层是数组结构 ArrayList Vector 是底层是可变长对象数组。ArrayList 线程不安全 ,Vector 是线程安全。 14. 将集合转成数组的方法是( ) a) asList() b) toCharArray() c) toArray() d) copy() 15. 对于增强for循环说法错误的是( ) a) 增强for循环可以直接遍历Map集合 b) 增强for循环可以操作数组 c) 增强for循环可以操作Collection集合 d) 增强for循环是JDK1.5版本后出现的 16. 对于HashMap集合说法正确的是( ) a) 底层是数组结构 b) 底层是链表结构 c) 可以存储null值和null键 d) 不可以存储null值和null键 HashMap 底层是 哈希表结构 : JDK1.8之前:数组+单向链表 JDK1.8之后:数组+单向链表|红黑树(链表的长度超过8):提高查询的速度 17. 下面代码的运行结果是( ) 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异常 18. Properties类中的哪个方法可以和IO流相关联( ) a) getProperty() b) setProperty() c) load() d) stringPropertyNames() public void load(InputStream inStream) : 从字节输入流中读取键值对 pro.load(new FileInputStream("read.txt")); 19. 以下哪两个流对象可以实现任意类型文件的成功复制( ) a) FileReader 和 FileWriter b) FileInputStream和FileOutputStream c) BufferedRead和 BufferedWriter d) InputSteamReader和OutputStreamWriter 20. 使用字符流可以成功复制哪些文件( ) a) 文本文件 b) 图片文件 c) 视频文件 d) 以上都可以复制 字节流 都可以 多选题:(每道题目3分) 21. 下列哪两个方法可以创建目录( ) a) createNewFile() b) createTempFile() c) mkdir() d) mkdirs() 22. 关于打印流PrintWriter说法正确的是( ) a) 该流只操作数据目的,不操作数据源 b) 该流只操作数据源,不操作数据目的 c) 如果启用了自动刷新,该流调用println()方法时可以自动刷新 d) 该流是Writer的子类 |