java选择题(集合,线程等)

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

A、数组结构

B、链表结构

C、哈希表结构

D、红黑树结构

 

2.LinkedList类的特点是(  )

A、查询快

B、增删快 

C、元素不重复

D、元素自然排序

 

3.Vector类的特点是(  )

A、线程同步

B、线程不同步

C、增删快

D、底层是链表结构

 

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

A、迭代器是取出集合元素的方式

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

C、List集合有特有迭代器

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

 

5.实现下列哪个接口,可以启用比较功能(     )

A、Runnable接口

B、Iterator接口

C、Serializable接口

DComparator接口

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 正常运行, 将显示(   )

Acondition 1finally

B、condition 2和condition1

C、condition 3和finally

D、全部显示

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

ArrayList al = newArrayList();

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是线程不安全

BArrayList是线程不安全的,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.下面类或者接口中,不属于集合体系的是(      )

Ajava.util.Collections

B、java.util.Map

C、java.util.Vector

D、java.util.Hashtable

如果在排序过程中,每次均将一个待排序的记录按关键字大小 加入到前面已经有序的中的适当位置,则该排序方法称为( )

A、插入排序

B、、归并排序

C、冒泡排序

D、堆排序

11.以下能以键_值对的方式存储对象的接口是(      )

A、java.util.Collection

Bjava.util.Map

C、java.util.HashMap        

D、java.util.Set

 

12.在Java中,(   )类可用于创建链表数据结构的对象。

ALinkedList

B、ArrayList

C、Collection

D、HashMap

 

13.题示代码的功能为:对于一个存放Person对象的ArrayList进行循

环遍历。并输出每个Person对象的idCard和userName。 (  )

public class Person{

                  privateLong idCard;

                  pirvateString userName;

                  //以下是getter和setter方法

                  //省略

}

List 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 

DPerson person:list

 

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

A、asList()     

B、toCharArray()

CtoArray()

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接口     

DCollections是针对Collection集合操作的工具类

 

19.关于泛型的说法错误的是(      )

A、泛型是JDK1.5出现的新特性 

B、泛型是一种安全机制                    

C、使用泛型避免了强制类型转换

D、使用泛型必须进行强制类型转换

 

20.下列哪种不是List集合的遍历方式 (    )

A、Iterator迭代器实现 

B、增强for循环实现

C、get()和size()方法结合实现  

Dget()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

 

DABCDE ABCDE ABCDE

 

 

21.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。(   )

A、8

 

B16

 

C、32

 

D、64

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

A、HashMap集合是单列集合

BHashMap集合不允许存储重复键

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 在运行时等价于List

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.ArrayListLinkedList均实现了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                                    BVector

C.HashMap                                   DHashtable

6.有关线程的叙述()是对的

A、一旦一个线程被创建,它就立即开始运行。

B、使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

C、如果复用一个线程,可以调用再次调用start方法,使已经结束的线程复活。

Djoin方法,可使当前线程阻塞,直到thread线程运行结束

7.下面哪些是实现线程同步的方式( )

ASynchronized 关键字修饰方法

BSynchronized修饰代码块

C、调用wait方法协调线程

D、调用notify方协调线程

8.HashSet去重复,在HashSet内部需要调用Object的哪些方法( )

AhashCode方法。

B、toString方法。

Cclone方法

Dequals方法

9.以下关于File 类说法正确的是( )

A、一个File 对象代表了操作系统中的一个文件或者文件夹

B、可以使用File 对象创建和删除一个文件

C、可以使用File 对象创建和删除一个文件夹

D、当一个File 对象被垃圾回收时,系统上对应的文件或文件夹也被删除

10.HashMap和HashTable的描述,正确的是?

A、他们都实现了Map接口。

BHashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。

CHashMap允许将null作为一个entrykey或者value,而Hashtable不允许。

D、通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。

你可能感兴趣的:(java)