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.实现下列哪个接口,可以启用比较功能( )
A、Runnable接口
B、Iterator接口
C、Serializable接口
D、Comparator接口
6.给定下列代码:
public void test() {
try {
oneMethod();
System.out.println( “condition 1”);
} catch (ArrayIndexOutOfBoundsException e){
System.out.println(“condition 2”);
}catch(Exception e){
System.out.println(“condition 3”);
}finally{
System.out.println(“finally”);
}
}
oneMethod 正常运行, 将显示( )
A、condition 1和finally
B、condition 2和condition1
C、condition 3和finally
D、全部显示
7.下面代码运行的结果是( )
ArrayList<String> al = newArrayList<String>();
al.add(true);
al.add(123);
al.add(“abc”);
System.out.println(al);
A、编译失败
B、[true,123]
C、[true,123,abc];
D、[abc];
8.ArrayList和Vector的区别说法正确的是( )
A、ArrayList是线程安全的,Vector是线程不安全
B、ArrayList是线程不安全的,Vector是线程安全的
C、ArrayList底层是数组结构,Vector底层是链表结构
D、ArrayList底层是链表结构,Vector底层是数组结构
9.对于HashMap集合说法正确的是( )
A、底层是数组结构
B、底层是链表结构
C、可以存储null值和null键
D、不可以存储null值和null键
阅读以下代码:
public class X extends Thread implements Runnable{
public void run(){
System.out.println(“this is run()”);
}
public static void main(String args[]){
Thread t=new Thread(new X());
t.start();
}
}
下列说法正确的是()
A、第一行会产生编译错误
B、第六行会产生编译错误
C、第六行会产生运行错误
D、程序会运行和启动
10.下面类或者接口中,不属于集合体系的是( )
A、java.util.Collections
B、java.util.Map
C、java.util.Vector
D、java.util.Hashtable
如果在排序过程中,每次均将一个待排序的记录按关键字大小 加入到前面已经有序的中的适当位置,则该排序方法称为( )
A、插入排序
B、、归并排序
C、冒泡排序
D、堆排序
11.以下能以键_值对的方式存储对象的接口是( )
A、java.util.Collection
B、java.util.Map
C、java.util.HashMap
D、java.util.Set
12.在Java中,( )类可用于创建链表数据结构的对象。
A、LinkedList
B、ArrayList
C、Collection
D、HashMap
13.题示代码的功能为:对于一个存放Person对象的ArrayList进行循
环遍历。并输出每个Person对象的idCard和userName。 ( )
public class Person{
privateLong idCard;
pirvateString userName;
//以下是getter和setter方法
//省略
}
List<Person> list=newArrayList<>();
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、Listlist:person
B、Listlist:Person
C、Personperson:List
D、Person person:list
14.将集合转成数组的方法是( )
A、asList()
B、toCharArray()
C、toArray()
D、copy()
15.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 ( )
A、实现Comparable接口
B、有main方法
C、有get和set方法
D、实现Serializable接口
16.在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列( )选项中的方法是LinkedList类有而ArrayList类没有的。
A、 add(Object o)
B、 add(int indexObject o)
C、 remove(Object o)
D、 removeLast()
17.在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是( )。
A、 bookTypeList.add("小说");
B、 bookTypeList.get("小说");
C、 bookTypeList.contains("小说");
D、 bookTypeList.remove("小说");
18.下面关于Collection和 Collections的区别正确的是( )
A、Collections是集合顶层接口
B、Collection是针对Collections集合操作的工具类
C、List、Set、Map都继承自Collection接口
D、Collections是针对Collection集合操作的工具类
19.关于泛型的说法错误的是( )
A、泛型是JDK1.5出现的新特性
B、泛型是一种安全机制
C、使用泛型避免了强制类型转换
D、使用泛型必须进行强制类型转换
20.下列哪种不是List集合的遍历方式 ( )
A、Iterator迭代器实现
B、增强for循环实现
C、get()和size()方法结合实现
D、get()和length()方法结合实现
下面的程序创建了一个文件输出流对象,用来向文件txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。
import java.io.*;
public class Test {
public static void main(String args[]) {
try {
String s=”ABCDE”;
byte b[]=s.getBytes();
FileOutputStream file=newFileOutputStream(“test.txt”,true);
file.write(b);
file.close();
}catch(IOException e) {
System.out.println(e.toString());
}
}
}
A、ABCABC
B、ABCDE
C、Test
D、ABCDE ABCDE ABCDE
21.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。( )
A、8
B、16
C、32
D、64
22.关于HashMap集合说法正确的是( )
A、HashMap集合是单列集合
B、HashMap集合不允许存储重复键
C、HashMap集合不允许存储重复值
D、HashMap集合线程是安全的
23. 下面有关JAVA异常类的描述,说法错误的是?
A:异常的继承结构:基类为Throwable,Error和Exception继承Throwable,RuntimeException和IOException等继承Exception
B:非RuntimeException一般是程序错误(或缺陷),其必须被 try-catch语句块所捕获
C:Error类体系描述了Java运行系统中的内部错误以及资源耗尽的情形,Error不需要捕捉
D:RuntimeException包括错误的类型转换、数组越界访问和试图访问空指针等等,必须被 try-catch语句块捕获
24. 以下代码片段的的输出结果是:
try{
System.out.print("try,");
return;
} catch(Exceptione){
System.out.print("catch,");
} finally {
System.out.print("finally");
}:
A:try,finally
B:try,
C: try, catch,finally
D:try,catch,
25.为实现多线程之间的通信,需要使用下列哪种流才合适?( )
A、Filter stream
B、File stream
C、Random accessstream
D、Piped stream
26.
import java.io.File;
public class TestFile{
public static void main(String args[]){
File file = new File(“chp13/corejava.txt”);
}
}
请选择一个正确答案( )
A、txt 文件在系统中被创建
B、在windows 系统上运行出错,因为路径分隔符不正确
C、txt 文件在系统中没有被创建
D、如果txt 文件已存在,则抛出一个异常
27.关于JAVA泛型叙述不正确的是()
A、泛类参数只能是类类型不能是基本数据类型
B、泛型是java中的语法糖,只存在于编译期
C、List<String> 在运行时等价于List<Integer>
D、运行时泛型避免了类型转换错误
28. 下面关于java.lang.Exception类的说法正确的是()
A:继承自Throwable
B:继承自Serializable
C:继承自Error
D:是异常体系的最终父类,只继承Object
29. “先进后出”指的是下面哪种数据结构
A:队列
B:栈
C:单链表
D:循环队列
30. 下面函数将返回?
public static int func (){
try{
return 1;
}catch(Exception e){
return 2;
}finally{
return 3;
}
}
A:1
B:2
C:3
D:编译错误
31. 设一个栈的输入序列为1、2、3、4,则借助一个栈所得到的输出序列不可能的是( )
A:1,2,3,4
B:4,3,2,1
C:1,3,4,2
D:4,1,2,3
32.哪种Key-Value存储对象,既能保证线程的同步,又具有高效的并发性能()。
A、HashMap
B、Hashtable
C、Vector
D、ConcurrentHashMap
33.ArrayList l =new ArrayList(20) 扩充了几次( )。
A、0
B、1
C、2
D、3
34.下面都属于线程安全的类是( )。
A、ArrayList
B、Vector
C、HashMap
D、LinkedList
35. 下面哪个流属于面向字符的输出流()
A:BufferedWriter
B:FileInputStream
C:ObjectInputStream
D:InputStreamReader
36. 输入流将数据从文件、标准输入或其他外部输入设备中加载到内存,在 java 中其对应于抽象类()及其子类。
A:java.io.InputStream
B:java.io.OutputStream
C:java.os.InputStream
D:java.os.OutputStream
37. 有如下需求:存储元素,保证元素在集合里没有重复,并且能够按照自然顺序进行访问,下列选项哪个接口能够满足该功能?
A:java.util.Map
B:java.util.Set
C:java.util.List
D:java.util.SortedSet
38. 以下java程序代码,执行后的结果是()
java.util.HashMap map=new java.util.HashMap();
map.put("name",null);
map.put("name","Jack");
System.out.println(map.size());
A:0
B:null
C:1
D:2
39. 关于java.Util.HashSet说法正确的是()
A:集合中的元素有序
B:集合被保证为不可变
C:集合中的元素保证唯一性
D:通过唯一的键访问集合中的元素
40. N(N为需要排列的个数) 从1开始,每一轮从待排数列中选择第N小(或大)的数放到排序列表的第 N个位置。”这是描述下面哪一种排序算法?
A:冒泡排序
B:直接插入排序 :假设前面N-1个数有序,将第N个数插入到前面N-1个数中的合适的位置
C:选择排序
D:快速排序
41. 欲构造ArrayList类的一个实例,此类继承了List接口,下列______是正确的?
A:ArrayListmyList=new object();
B:List myList=new ArrayList();
C:ArrayList myList=new List();
D:List myList=new List();
42. 下列不是继承Collection接口的是()
A:List
B:Set
C:Map
D:Queue
43. HashMap和HashTable的描述,错误的是?
A:他们都实现了Map接口。
B:HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
C:HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
D:通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中
44. java.io包的File类是()
A:字符流类
B:字节流类
C:对象流类
D:不属于上面三者
46. 下列关于XML描述不正确的是
A:XML是eXtensible Markup Language的简写,即可扩展标记语言
B:XML主要用途是信息共享和应用配置
C:XML不能用来存储大批量的数据
D:XML一般不用来存储大批量的数据
47.下列关于注解说法错误的是( )。
A、注解使用@Interface定义。
B、默认情况下,注解可以修饰的元素包括类、方法、成员变量等。
C、使代码更加干净易读。
D、Java 注解和注释一模一样。
48.对Util.ArrayList描述正确的是()
A、集合被保证为不可变
B、集合中的元素可按索引访问
C、集合中的元素保证唯一性
D、通过唯一的键访问集合中的元素
49. 获得Class类的方法不包括:
A: 使用Class类的forName()静态方法获得与字符串对应的Class对象,参数字符串必须是类或接口的全限定名
B: 调用Object类的getClass()方法来得到Class对象
C: 使用“类型名.class”获取该类型对应的Class对象
D: 使用“类型名.getClass()”获取该类型对应的Class对象
50. 关于反射方法public T newInstance()说法准确的是:
A:创建此 Class 对象所表示的类的一个新实例。
B:返回此 Class 对象表示的类声明的所有构造方法。
C:返回此 Class 对象表示的类声明的公共构造方法。
D:创建此 Class 对象所表示的类的一个新的属性。
51. 编写线程类,要继承的父类是
A:Object
B:Runnable
C:Thread
D:Serializable
E:Exception
52.以下哪个最准确描述synchronized关键字?
A. 允许两线程并行运行,而且互相通信;
B. 保证在某时刻只有一个线程可访问方法或对象;
C. 保证允许两个或更多处理同时开始和结束;
D. 保证两个或更多线程同时开始和结束。
53.下列哪一个类实现了线程组?()
A、java.lang.Objict
B、java.1ang.ThreadGroup
C、Java.1ang.Thread
D、java.1ang.Runnable
54. java socket如何获取本地ip地址?
A:getInetAddress()
B:getLocalAddress()
C:getReuseAddress()
D:getLocalPort()
55. 为了获取远程主机的文件内容,当创建URL对象后,需要使用哪个方法获取信息( )
A.getPort()
B.getHost
C.openStream()
D.openConnection()
56. java程序中,使用TCP套接字编写服务端程序的套接字类是( )
A. Socket
B. ServerSocket
C. DatagramSocket
D.DatagramPacket
57. ServerSocket的监听方法accept()的返回值类型是( )
A. void
B. Object
C. Socket
D. DatagramSocket
58. ServerSocket的getInetAddress()的返回值类型是( )
A. Socket
B ServerSocket
C. InetAddress
D. URL
59. 当使用客户端套接字Socket创建对象时,需要指定( )
A.服务器主机名称和端口
B、服务器端口和文件
C、服务器名称和文件
D.服务器地址和文件
60.使用流式。套接字编程时,为了向对方发送数据,则需要使用哪个方法( )
A. getInetAddress()
B. getLocalPort()
C. getOutputStream()
D. getInputStream()
二、多选题 (每题3分 * 5 = 15分)
1.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是( )
A.ArrayList和LinkedList均实现了List接口
B.ArrayList的查询速度比LinkedList快
C.添加和删除元素时,ArrayList的表现更佳
D.HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
2.下面关于HashMap和Hashtable的区别,说法正确的是( )
A.Hashtable线程不安全,效率高
B.HashMap线程安全,效率低
C.HashMap允许null键和值
D.Hashtable不允许null键和值
3.关于HashMap集合说法正确的是( )
A.HashMap集合是双列集合
B.HashMap集合不允许存储重复键
C.HashMap集合不允许存储重复值
D.HashMap集合线程是安全的
4.List集合的遍历方式有如下哪几种 ( )
A.Iterator迭代器实现
B.增强for循环实现
C.get()和size()方法结合实现
D.get()和length()方法结合实现
5. 下面集合中属于线程安全的类是( )
A.ArrayList B.Vector
C.HashMap D.Hashtable
6.有关线程的叙述()是对的
A、一旦一个线程被创建,它就立即开始运行。
B、使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
C、如果复用一个线程,可以调用再次调用start方法,使已经结束的线程复活。
D、join方法,可使当前线程阻塞,直到thread线程运行结束
7.下面哪些是实现线程同步的方式( )
A、Synchronized 关键字修饰方法
B、Synchronized修饰代码块
C、调用wait方法协调线程
D、调用notify方协调线程
8.HashSet去重复,在HashSet内部需要调用Object的哪些方法( )
A、hashCode方法。
B、toString方法。
C、clone方法
D、equals方法
9.以下关于File 类说法正确的是( )
A、一个File 对象代表了操作系统中的一个文件或者文件夹
B、可以使用File 对象创建和删除一个文件
C、可以使用File 对象创建和删除一个文件夹
D、当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除
10.HashMap和HashTable的描述,正确的是?
A、他们都实现了Map接口。
B、HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
C、HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
D、通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。