单选题:(每道题目2分)
1.ArrayList类的底层数据结构是( )
a)数组结构
b)链表结构
c)哈希表结构
d)红黑树结构
2.LinkedList类的特点是( )
a)查询快
b)增删快
c)元素不重复
d)元素自然排序
3.Vector类的特点是( )
a)线程同步
b)线程不同步
c)增删快
d)底层是链表结构
4.关于迭代器说法错误的是( )
a)迭代器是取出集合元素的方式
b)迭代器的hasNext()方法返回值是布尔类型
c)List集合有特有迭代器
d)next()方法将返回集合中的上一个元素
5.FileReader类描述正确的是( )
a)字节输入流
b)字符输入流
c)打印流
d)序列化流
6.具有readLine()方法的类是( )
a)FileWriter
b)InputStreamReader
c)FileReader
d)BufferedReader
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];
9.实现下列哪个接口,可以启用序列化功能( )
a)Runnable接口
b)Comparable接口
c)Serializable接口
d)Comparator接口
10.字节输出流的抽象基类是( )
a)OutputStream类
b)InputStream类
c)Writer类
d)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)编译失败
12.将Map集合中的键存储到Set集合的方法是( )
a)entrySet()
b)get()
c)keySet()
d)put()
13.ArrayList和Vector的区别说法正确的是( )
a)ArrayList是线程安全的,Vector是线程不安全
b)ArrayList是线程不安全的,Vector是线程安全的
c)ArrayList底层是数组结构,Vector底层是链表结构
d)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键
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()
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的子类
23.关于泛型的说法正确的是( )
a)泛型是JDK1.5出现的新特性
b)泛型是一种安全机制
c)使用泛型避免了强制类型转换
d)使用泛型必须进行强制类型转换
24.关于方法的递归算法,说法正确的是( )
a)递归就是方法自己调用自己
b)递归的次数不能过大,否则会导致栈内存溢出
c)使用递归算法,方法必须有返回值
d)构造方法不可以使用递归算法
25.List集合的遍历方式有如下哪几种( )
a)Iterator迭代器实现
b)增强for循环实现
c)get()和size()方法结合实现
d)get()和length()方法结合实现
简答题目:(每道题目3分)
26:ArrayList,Vector以及LinkedList的特点?
ArrayList:底层数据结构是数组,查询快,增删慢。线程不安全,效率高。
Vector: 底层数据结构是数组,查询快,增删慢。线程安全,效率低。
LinkedList: 底层数据结构是链表,查询慢,增删快。线程不安全,效率高。
27:HashMap和Hashtable的区别?
HashMap:线程不安全,效率高。允许null键和值。
Hashtable: 线程安全,效率低。不允许null键和值。
28:Collection和Collections的区别?
Collection:是单列集合的顶层接口。
Collections:是对集合进行操作的工具类。
29:IO流的分类,及抽象基类分别有哪些?
数据类型:
字节流
字符流
字节流:
InputStream,OutputStream
字符流:
Reader,Writer
30:什么是序列化,如何实现序列化,什么是反序列化?
序列化:把对象按照流一样的方式操作。
对象所属的类实现序列化接口。
反序列化:把流数据还原成对象。
编程题目:(每道题目10分)
31:ArrayList存储字符串并遍历
32:把c:\a.txt复制到d:\b.txt
33:把c:\a.jpg复制到d:\b.jpg
逻辑思考题目:
A:为什么井盖是圆的?
不容易掉下去。
容易搬运。
B:我有8个小球,颜色,大小一致。其中的一个重量比较重,给你一个天枰,几次能找到这个重的球。
2次.
3,3,2