经典Java集合笔试选择题10道
java基础笔试题[答案解析已整理]
![java基础笔试题[答案解析已整理]](https://img.taocdn.com/s3/m/52af132c0b1c59eef8c7b4d7.png)
Java基础试题一:选择题(1*30=30)(题目写在答题纸上面)1:Java 提供哪几种运算符多选( abcd )。
A)算术运算符B)位运算符C)关系运算符D)逻辑运算符E)条件运算符2:包的()方法比较二个对象是否相等返回true.。
(b)A:toString() B:equals() C:compare D:以上都不正确3:下列对Java 的变量与函数说法正确的是多选(ace )。
A)变量是用来保存数据的B)变量是用来实现操作过程的C)函数是用来实现操作过程的D)函数是用来保存数据的E)函数的参数是数据的入口4:已知:int[] a = new int[100];在下列给出的数组元素中,非法的是。
(d)A:a[0] B:a[1] C:a[99] D:a[100]5:在java中,一个类可同时定义许多同名的方法,在这些方法的形式参数个数,类型或顺序各不相同,传值也可以各不相同。
这种面向对象程序的特性称为。
(c)A:隐藏B:覆盖C:重载D:Java不支持此特性6:()是一组常量和抽象方法的集合。
(d)A:实例B:类C:包D:接口7:下面关于数组说法正确的是多选(abcde)。
A)一维数组实质上是相同类型变量的列表B)创建一个数组首先定义数组变量所需的类型C)char c[]=new char[26];可声明一个含有26 个元素的char型数组D)当为一个多维数组的时候分配内存时,仅需要为第一指定内存,然后再分配其他维的存E)int twain[][] = new int[4][5];可声明一个二维数组8:Java源文件和编译后的文件扩展名分别为。
(b)A:.class和.java B:.java各.class C:.class和.class D:.java和.java9:设x=5;则y=x--和y=--x的结果,使y分别为。
(c)A:5,5 B:5,6 C:5,4 D:4,410:若x是float类变量,x=10/4;则x 的值是。
Java笔试题

Java笔试题1、作用域public,private,protected,以及不写时的区别答:区别如下:作用域当前类同一package 子孙类其他packagepublic √√√√protected √√√×friendly √√××private √×××不写时默认为friendly2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)答:匿名的内部类是没有名字的内部类。
不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现3、Static Nested Class 和Inner Class的不同答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。
Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。
注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象4、&和&&的区别答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)5、Collection 和Collections的区别答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List.Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作6、什么时候用assert答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。
在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。
Java基础之集合测试

单项选择题:〔每道题目 2 分〕1. 下面哪个不是会集和数组的差异?A:会集长度可变B:会集只能储藏引用数据种类C:会集只能储藏一种引用数据种类D:会集能够储藏不同样引用数据种类中contains()方法的作用是?A:往会集中增加元素B:从会集中删除元素C:判断元素在会集中可否存在D:判断会集可否为空3.下面关于迭代器,说法错误的选项是?A:特地用于遍历数组B:特地用于遍历会集C:依赖于会集而存在D:内部类的方式实现会集元素的特点是?A:元素有序B:元素无序C:元素不能重复D:元素自然排序会集的get()方法的作用是?A:获取第一个地址的元素B:获取最后一个地址的元素C:获取指定地址的元素D:获取中间地址的元素是什么东西?A:空指针异常B:接见越界异常C:种类变换异常D:并发更正异常7.下面哪个不属于常有的数据结构?A:栈B:队列C:链表D:圆会集的基层数据结构是?A:数组B:链表C:哈希表D:红黑树9.下面哪个不是 Vector 的特有功能 ?A:addElement()B:add()C:elementAt()D:elements()会集的特点是?A:线程同步B:线程不同样步C:增删快D:基层结构是链表会集的特点是?A:盘问快B:增删快C:元素唯一D:元素按比较器排序12.下面代码运行的结果是 ?ArrayList<String> al = new ArrayList<String>();al.add(true);al.add(123);al.add("abc");System.out.println(al);A:编译失败B:[true,123,abc]C:[true,123]D:[abc]会集和Vector会集的差异说法正确的选项是?A:ArrayList是线程安全的, Vector 是线程不安全的B:ArrayList是线程不安全的,Vector是线程安全的C:ArrayList基层结构是数组,Vector基层结构是链表D:ArrayList基层结构是链表,Vector基层结构是数组14.下面代码运行的结果是 ?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:编译失败B:[a,b,c]C:[a,b,c,c1]D: 抛出 ConcurrentModificationException异常会集的特点是?A:元素有序B:元素无序C:元素可重复D:元素从大到小排序16.有关 HashSet 会集的说法正确的选项是 ?A:基层数据结构是链表B:基层数据结构是数组C:元素是重复的D: 保证元素的唯一性依赖于hashCode() 和 equals()17.有关 TreeSet 会集的说法错误的选项是 ?A:基层数据结构是红黑树B:元素可重复C:能够经过自然排序对元素进行排序D:能够经过比较器排序对元素进行排序18.有关 Map会集说法错误的选项是 ?A:Map 会集由键值对组成B:Map 会集的键可重复C:Map 会集的值可重复D:Map 会集不是Collection会集的子系统19.下面关于 HashMap说法正确的选项是 ?A:基层数据结构是链表B:基层数据结构是数组C:能够赞同 null 键和 null 值D:不同样意 null 键和 null 值20.LinkedHashMap 会集的基层数据结构是 ?A:数组B:栈C:红黑树D:链表和哈希表多项选择题:〔每道题目 3 分〕21.下面哪些方法是 ArrayList 和 LinkedList 都有的 ? A:add()B:addFirst()C:get()D:iterator()22.以下有关增强 for 的说法正确的选项是 ?A:增强 for 是 JDK5的新特点B:增强 for 能够直接遍历数组C:增强 for 能够直接遍历 Map 会集D:增强 for 能够直接遍历 Collection 会集23.下面关于泛型的说法正确的选项是 ?A:泛型是 JDK5的新特点B:泛型增强了程序的安全性C:泛型防范了逼迫种类变换D:泛型要求必定逼迫种类变换会集能够经过下面哪些方式进行遍历A:Iterator迭代器实现B:增强 for 实现C:get()和length()方法结合实现D:get()和size()方法结合实现25.Map 会集能够经过哪些方式进行遍历?A:直接经过迭代器即可B:依照键找值的方式C:依照 for 循环直接遍历D:依照键值对对象找键和值的方式简答题目: ( 每道题目 3 分〕26: ArrayList,Vector以及LinkedList的特点? ArrayList:基层数据结构是数组,盘问快,增删慢线程不安全,效率高Vector :基层数据结构是数组,盘问快,增删慢线程安全,效率低LinkedList:基层数据结构是链表,盘问慢,增删快线程不安全,效率高27: HashMap和 Hashtable的差异 ?A:HashMap 线程不安全,效率高。
java笔试题大集合及答案

java笔试题大集合及答案# Java笔试题大集合及答案1. Java中接口和抽象类的区别是什么?- 接口和抽象类都是抽象的,不能直接实例化。
- 接口中所有的方法默认是public的,而抽象类可以包含非public的成员。
- 一个类可以实现多个接口,但只能继承一个抽象类。
- 接口中不能包含构造方法,而抽象类可以。
- 接口中的字段默认是public static final的,而抽象类中的字段可以是任意类型。
2. Java中如何实现单例模式?- 单例模式确保一个类只有一个实例,并提供一个全局访问点。
- 可以通过私有化构造方法,提供一个私有静态变量来保存实例,并提供一个公有静态方法来获取实例。
3. Java中集合框架的层次结构是怎样的?- 集合框架分为两大类:单元素集合和复合元素集合。
- 单元素集合包括List、Set和Queue。
- 复合元素集合包括Map。
- 每个接口都有多个实现类,如ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等。
4. Java中如何实现多线程?- 可以通过继承Thread类并重写run方法来实现。
- 也可以通过实现Runnable接口并重写run方法,然后创建Thread对象来实现。
- Java 5引入了Executor框架,可以更方便地管理线程。
5. Java中异常处理的机制是什么?- Java使用try-catch-finally块来处理异常。
- try块中编写可能抛出异常的代码。
- catch块中编写处理异常的代码。
- finally块中的代码无论是否发生异常都会执行。
6. Java中StringBuffer和StringBuilder的区别是什么?- StringBuffer是线程安全的,而StringBuilder不是。
- StringBuffer的方法是同步的,StringBuilder的方法不是。
- 在单线程环境下,StringBuilder的性能优于StringBuffer。
java集合试题及答案

java集合试题及答案# Java集合试题及答案1. 选择题- 集合框架中,哪个接口提供了对集合的最小功能定义?- A. List- B. Set- C. Map- D. Collection- 答案:D2. 填空题- 在Java集合框架中,ArrayList是基于______实现的。
- 答案:数组3. 简答题- 描述ArrayList和LinkedList在性能上的主要差异。
- 答案:ArrayList是基于动态数组实现的,因此对于随机访问操作有较好的性能。
LinkedList是基于双向链表实现的,因此对于插入和删除操作有更好的性能。
4. 编程题- 编写一个Java程序,实现一个方法,该方法接受一个ArrayList<Integer>作为参数,并返回一个新的ArrayList<Integer>,其中包含原列表中所有元素的平方。
```javapublic class SquareList {public static ArrayList<Integer>squareList(ArrayList<Integer> input) {ArrayList<Integer> result = new ArrayList<>(); for (int num : input) {result.add(num * num);}return result;}}```5. 判断题- 在Java中,HashMap的键值对是有序的。
- 正确- 错误- 答案:错误6. 多选题- 下列哪些类实现了Map接口?- A. HashMap- B. TreeMap- C. HashSet- D. LinkedHashMap- 答案:A, B, D7. 计算题- 假设有一个ArrayList<String>,包含10个元素,如果使用Collections.sort()方法对其进行排序,排序后第一个元素的索引是多少?- 答案:08. 案例分析题- 给定一个HashSet<String>,包含"apple", "banana", "cherry", "date", "elderberry"五个元素。
Java集合知识测试B

集合部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.下列选项哪个正确(AC)a)对象数组是引用数据类型b)对象数组是基本数据类型c)对象数组存储的元素是引用数据类型d)对象数组存储的元素是基本数据类型2.下列选项关于集合和数组的区别说法正确的是(A )a)集合的长度是可变的,数组的长度是不可变的b)集合的长度是不可变的,数组的长度是可变的c)集合和数组都能存储基本数据类型和存储引用类型d)集合只能存储基本数据类型,数组既能存储基本类型也能存储引用类型3.Collection获取长度的方法是哪个(B )a)length()b)size()c)add()d)iterator()4.将集合转换成数组的方法是哪个(C )a)toCharArray()b)getBytes()c)toArray()d)size()5.iterator()方法的功能是什么(C)a)获取集合对象b)获取集合的长度c)获取迭代器对象d)获取集合中元素6.下面哪些方式可以避免并发修改异常的发生(ABC)a)用普通for循环和get()遍历集合,增删集合元素b)用列表迭代器遍历集合,使用列表迭代器的add()添加元素c)用普通迭代器遍历集合,使用普通迭代器的remove()删除元素iterator(普通迭代器)d)没有方法能解决并发修改异常7.下列关于Vector说法正确的是(AD )a)Vector是JDK1.0开始出现的b)Vector是一个抽象类c)Vector是一个接口d)Vector后来被ArrayList取代了,但是某些老项目中还在延续使用8.数组数据结构的特点是什么(AC )a)增删慢b)查询慢c)查询快d)增删快9.下列描述ArrayList集合特点正确的是(BD )a)底层是链表数据结构b)底层是数组数据结构c)是线程安全的d)是线程不安全的10.列描述LinkedList集合特点正确的是(D )a)底层是数组数据结构b)底层是二叉树结构c)是线程安全的d)是线程不安全的11.下列关于ArrayList的contains(Object obj)方法的理解正确的是(ABC )a)底层会调用obj的equals方法b)如果这个方法的返回值是true,就说明集合中含有obj这个元素c)如果这个方法的返回值是false,就说明集合中没有obj这个元素d)这是一个静态方法12.在下列代码中,关于list.remove(new Person(“张三”,23))方法的作用理解正确的是( CD )ArrayList list = new ArrayList();list.add(new Person("张三", 23));list.add(new Person("张三", 23));list.add(new Person("李四", 24));list.remove(new Person("张三", 23));a)代码移除了所有的张三b)如果Person类实现了equals方法,那么就会移除所有张三c)如果Person类实现了equals方法,那么就会移除一个张三d)可能不会移除任何对象13.下列代码list中的元素存储的顺序是( D )LinkedList list = new LinkedList();list.addFirst("a");list.addFirst("b");list.addFirst("c");list.addFirst("d");list.addLast("e");System.out.println(list);a)abcdeb)edcbac)acdbed)dcbae14.Java中,关于队列的的说法正确的是(AD )a)队列的特点是先进先出b)队列的特点是后进先出c)队列的特点是先进后出d)队列的特点是后进后出15.下列有关泛型的代码中,说法正确的是(A ) ?ArrayList<Person> list = new ArrayList<Person>();a)list集合里面只能存放Person对象b)list集合里面能存放字符串c)list集合里面能存放Person的子类对象d)list集合里面可以存放Object类型的对象16.下列关于泛型说法不正确的是(B )a)泛型的出现可以把运行时出现的问题提前放到编译时期就发现b)泛型的出现可以把编译时出现的问题放到运行之后就发现c)泛型可以避免强制类型转换d)泛型是一种安全机制17.观察如下代码,下列说法不正确的是( A )public class Tool<Q> {}a)格式错误,因为Q不知道是什么b)可以这样创建对象:new Tool<String>();c)去掉Tool上的Q,可以用String来代替d)可以这样创建对象:new Tool<Person>();18.下面泛型方法中,说法正确的是( A )?private <T,Q> void show2(T t) {}a)在调用show2方法的时候,才会确定T的类型是什么b)此方法会报错,因为格式不对c)定义格式错误,此方法中<T,Q>应该改为<T>d)定义格式错误,参数列表应该改为(T,Q t)19.下列增强for循环的代码中,有关说法正确的是( D ) ? for(int x : arr){System.out.println(x);}a)arr必须是一个int数组b)arr 可以是字符串数组c)arr 必须是一个集合d)arr可以是数组也可以是集合对象20.要遍历元素对象,下面横线处填写的代码应为( BC )ArrayList<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("b");for( ____________ ){System.out.println(x);}a)int x : listb)Object x : listc)String x : listd)int x=0;x<list.size();x++21.能删除下面集合中所有的字符串“b”的代码的是( C )ArrayList<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("b");list.add("c");list.add("d");a)for(int i = 0; i < list.size(); i++) {if("b".equals(list.get(i))) {list.remove(i);}}b)for(String str : list){if(“b”.equals(str)){list.remove(str);}}c)for(int i = 0; i < list.size(); i++) {if("b".equals(list.get(i))) {list.remove(i--);}}d)for(String s : list){list.remove(“b”);}22.关于可变参数的说法正确的是( ACD)a)可变参数的格式为【数据类型…变量名】b)可变参数不能打印c)直接打印可变参数,得到的是一个地址值d)可变参数可以传递任意多个同类型对象23.使用HashSet存储对象,如何保证唯一(C )a)重写equals方法b)让要存储的类实现Compartor,重写compare方法c)根据成员变量重写HashCode方法和equals方法d)重写contains方法24.HashSet在创建对象存储元素的时候,以下说法错误的是(D )a)可以使用泛型b)可以存储任意内容c)存储和取出的顺序不同d)存储的元素会按照一定的规则,不会去除重复元素25.HashSet中常见的方法有(D )a)a dd,remove.get,sizeb)get(int pos)c)insert()d)add,remove,size26.根据下面的代码,选出空白处应填写的代码表示存储1-20的随机数( A )HashSet<Integer> hs = new HashSet<Integer>();Random r = new Random();while(hs.size() < 10) {补全此处代码hs.add(num);}for (Integer integer : hs) {System.out.println(integer);}a)int num = r.nextInt(20) + 1;b)int num = r.nextInt(20) ;c)Math.random();d)Math.random(20)+1;27.根据下面的代码,选出空白处应填写的代码( A ) Scanner sc = new Scanner(System.in);System.out.println("请输入一行字符串:");String line = 补全此处代码;char[] arr = line.toCharArray();HashSet<Character> hs = new HashSet<>();for(char c : arr) {hs.add(c); }for (Character ch : hs) {System.out.println(ch);}a)String line = sc.nextLine();b)String line = sc.newLine();c)String line = sc.readLine();d)String line = sc.getString();28.TreeSet底层实际的操作对象是( A )a)TreeMapb)HashMapc)LinkedHashMapd)LinkedTreeMap29.下面的方法,目的是在TreeSet中对元素进行排序,但是要保留重复元素,补全下面的代码( a )public static void sort(List<String> list) {TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {@Overridepublic int compare(String s1, String s2) {int num = pareTo(s2);补全此处代码}});ts.addAll(list);list.clear();list.addAll(ts);a)return num == 0 ? 1 : num;b)return num == 1 ? 0 : num;c)return num == 1;d)return num;30.比较器必须实现以下哪个接口( A)a)Comparatorb)Comparablec)Collectiond)Map31.关于Map集合的描述,以下说法错误的是(D)a)Map集合是双列集合b)Map集合的数据结构只针对键有效c)Map集合的键是不可以重复的d)以上都不对32.往Map集合中添加元素,可以通过以下那个方法(A)a)pu t(K key,V value)b)add(K key,V value)c)keySet(K key,V value)d)containsKey(Object key)33.Map集合中,获取所有键的集合,是以下哪个方法(C)a)r emove()b)entrySet()c)keySet()d)keys()34.Itetator迭代器中的hasNext()方法的作用是(A)a)判断集合中是否还有下一个元素b)判断集合中是否还有上一个元素c)获取集合中的下一个元素d)获取集合中的上一个元素35.Map集合中,获取所有键值对的集合是那个方法(A)a)entrySet()b)values()c)keySet()d)keyValues()36.应用程序的main方法中有以下语句(请参看API文档)Hashtable hashtable=new Hashtable();hashtable.put("100","aaa");hashtable.put("200","bbb");hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+ hashtable.get("200").toString()+ hashtable.get("100").toString());则输出的结果是( D )a)编译失败b)bbbc)cccd)cccbbbaaa37.TreeMap通过自然排序保证元素的唯一性,必须重写哪个方法(B)a)equals()b)compareTo()c)compare()d)toString()38.TreeMap通过比较器接口,保证元素唯一性,必须重写哪个方法(C)a)equals()b)compareTo()c)compare()d)toString()39.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须(B)a)有main方法b)必须实现Comparable接口//否则会出现类型转换异常ClassCaseExceptionc)有get和set方法d)必须实现Serializable接口40.Collections工具类中的binarySearch()方法描述正确的是(D)a)binarySearch()方法只能操作Set集合b)binarySearch()方法可以操作所有的集合c)binarySearch()方法只能操作Map集合binarySearch()方法只能操作List集合d)。
JAVA笔试题--Java选择题100道

1.下列不可作为java语言修饰符的是(D)A) a1 B) $1 C) _1 D) 112.有一段java 应用程序, 它的主类名是a1, 那么保存它的源文件名可以是(A)A) a1.java B) a1.class C) a1 D) 都对3.整型数据类型中, 需要内存空间最少的是(D)A) short B) long C) int D) byte4.Jav.类可以作为(C)A) 类型定义机制B) 数据封装机制C) 类型定义机制和数据封装机制D) 上述都不对5.在创建对象时必须(C)A) 先声明对象, 然后才能使用对象B) 先声明对象, 为对象分配内存空间, 然后才能使用对象C) 先声明对象, 为对象分配内存空间, 对对象初始化, 然后才能使用对象D) 上述说法都对6.在调用方法时, 若要使方法改变实参的值, 可以(B)A) 用基本数据类型作为参数B) 用对象作为参数C) A和B都对D) A和B都不对7.Java中(C)A) 一个子类可以有多个父类, 一个父类也可以有多个子类B) 一个子类可以有多个父类, 但一个父类只可以有一个子类C) 一个子类可以有一个父类, 但一个父类可以有多个子类D) 上述说法都不对8.Java语言具有许多优点和特点, 哪个反映了Java程序并行机制的特点?(B)A) 安全性B) 多线性C) 跨平台D) 可移植9.Character流与Byte流的区别是(C)A) 每次读入的字节数不同B) 前者带有缓冲, 后者没有C) 前者是字符读写, 后者是字节读写D) 二者没有区别, 可以互换使用10.以下声明合法的是( D )A.default String s;B.public final static native int w( )C.abstract double d;D.abstract final double hyperbolicCosine( )11.关于以下application的说明, 正确的是( C )1. class StaticStuff2. {3. static int x=10;4. static { x+=5;}5. public static void main(String args[ ])6. {7. System.out.println(“x=”+ x);8. }9. static { x/=3;}10..}A.4行与9行不能通过编译, 因为缺少方法名和返回类型B.9行不能通过编译, 因为只能有一个静态初始化器C、编译通过, 执行结果为: x=5D、编译通过, 执行结果为:x=312.关于以下程序代码的说明正确的是( D )1. class HasStatic{2. private static int x=100;3. public static void main(String args[ ]){4. HasStatic hs1=new HasStatic( );5. hs1.x++;6. HasStatic hs2=new HasStatic( );7. hs2.x++;8. hs1=new HasStatic( );9. hs1.x++;10. HasStatic.x- -;11. System.out.println(“x=”+x);12. }13. }A. 5行不能通过编译, 因为引用了私有静态变量B. 10行不能通过编译, 因为x是私有静态变量C、程序通过编译, 输出结果为: x=103D、程序通过编译, 输出结果为:x=10213.以下选项中循环结构合法的是( C )A.while (int i<7){ i++;System.out.println(“i is “+i);}B. int j=3;while(j){System.out.println(“ j is “+j);}C.int j=0;for(int k=0; j + k !=10; j++,k++){System.out.println(“ j is “+j + “k is”+ k);}D. int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);14...类Test1定义如下:1. public class Test1{2.public float aMethod(float a, float b){ }3.4. }将以下哪种方法插入行3是不合法的。
Java开发工程师招聘笔试题及解答2024年

2024年招聘Java开发工程师笔试题及解答(答案在后面)一、单项选择题(本大题有10小题,每小题2分,共20分)1、以下哪个不是Java中的基本数据类型?A、intB、floatC、StringD、boolean2、在Java中,以下哪个关键字用于声明一个类?A、classB、structC、enumD、interface3、关于Java中的String类,以下描述正确的是:A. String类是final类,无法继承。
B. String类是可变的,可以对其进行修改。
C. String类是可变的,每次对String对象的操作都会创建新的对象。
D. String类是不可变的,每次对String对象的操作都会创建新的对象。
4、关于Java中的垃圾回收机制,以下描述不正确的是:A. 垃圾回收器可以自动回收不再使用的对象占用的内存空间。
B. 垃圾回收机制是Java自动管理内存的一种方式,程序员无需手动释放内存。
C. 垃圾回收器会定期检查并回收那些不再有引用的对象。
D. 堆内存中的所有对象在不再有引用后,会自动关联到垃圾回收机制中,即成为垃圾,等待垃圾回收器来回收。
5、以下哪个Java版本正式支持模块化系统“Java Platform Module System”(JPMS)?A、Java 8B、Java 9C、Java 10D、Java 116、在Java中,以下哪个关键字用来声明一个线程?A、threadB、runC、ThreadD、start7、以下哪个关键字是Java中用于实现多线程的同步机制?A. synchronizedB. transientC. volatileD. static8、以下哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. friendly9、在Java中,以下哪个选项不是访问修饰符?A. publicB. privateC. protectedD. friend 10、下列关于Java异常处理的说法中,哪一个是正确的?A. Java程序必须捕获并处理所有抛出的异常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
以下是选择试题:选择题1选择题内容:(集合框架)下面都属于线程安全的类是( )。
A.ArrayListB.VectorC.HashMapD.Hashtable选择题2选择题内容:(集合框架)ArrayList的初始化内容如下:ArrayList list = new ArrayList();list.add("java");list.add("aaa");list.add("java");list.add("java");list.add("bbb");下面可以删除list中所有的“java”的代码是:A.for (int i = list.size() - 1; i >= 0; i--) {if ("java".equals(list.get(i))) {list.remove(i);}}B.for (int i = 0; i < list.size(); i++) {if ("java".equals(list.get(i))) {list.remove(i);}}C.list.remove("java");D.list.removeAll("java");选择题3选择题内容:下面的代码用于输出字符数组ch中每个字符出现的次数,应该填入的代码是public static void main(String[] args) {char[] ch = { 'a', 'c', 'a', 'b', 'c', 'b' };HashMap map = new HashMap();for (int i = 0; i < ch.length; i++) {< 填入代码>}System.out.println(map);}A.if (map.contains(ch[i])) {map.put(ch[i], map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}B.if (map.contains(ch[i])) {map.put(ch[i], (Integer) map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}C.if (map.containsKey(ch[i])) {map.put(ch[i], (int) map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}D.if (map.containsKey(ch[i])) {map.put(ch[i], (Integer) map.get(ch[i]) + 1);} else {map.put(ch[i], 1);}选择题4选择题内容:(集合框架) 题示代码的功能为:对于一个存放Integer对象的ArrayList,内容为:{1,2,3 },对其进行循环遍历:List list=new ArrayList();list.add(1);list.add(2);list.add(3);for(int i=0;i<《插入代码1》;i++){Integer obj=(Integer)《插入代码2》;System.out.println(obj);}那么《插入代码1》和《插入代码2》处的代码分别为A. list.getObject(i) list.length()B. list.length() list.getObject(i)C. list.size() list.get(i)D. list.get(i) list.size()对于字符串来说:对于数组来说:选择题5选择题内容:题示代码的功能为:对于一个存放Person对象的ArrayList进行循环遍历,并取到每个Person对象的idCard和userName。
public class Person{private Long idCard;pirvate String userName;//一下是getter和setter方法……}List list=new ArrayList();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. List list:personB. List list:PersonC. Person person:ListD. Person person:list选择题6选择题内容:已知类Foo的定义如下:public class Foo {int value;Foo(int value) {this.value = value;}public boolean equals(Object obj) {if (obj instanceof Foo) {Foo foo = (Foo) obj;return value == foo.value;} else {return false;}}运行下面程序段:ArrayList list = new ArrayList();HashSet set = new HashSet();list.add(new Foo(1));set.add(new Foo(1));System.out.println(《插入代码》);如果控制台输出的结果是true,false,那么《插入代码》处应填入的代码是A. list.contains(new Foo(1)) + ","+ set.contains(new Foo(1))B. set.contains(new Foo(1)) + ","+ list.contains(new Foo(1))C. new Foo(1).equals (new Foo(1)) + ","+ list.contains(new Foo(1))D. new Foo(1).equals (new Foo(1)) + ","+ set.contains(new Foo(1))选择题7选择题内容:(集合框架)题目代码的功能是:采用Iterator进行循环遍历到集合中的每一个元素,并将其移除,《插入代码》处应填入的代码是ArrayList list = new ArrayList();list.add("java");list.add("php");list.add(".net");《插入代码》A. Iterator it=list.iterator();while(it.hasNext()){it.next();it.remove();}B. Iterator it=list.iterator();while(it.hasNext()){it.remove();}C. Iterator it=list.iterator();while(it. hasNext()){Object obj=it.next();list.remove(obj);}D. Iterator it=list.iterator();while(it.hasNext()){list.remove();}选择题8选择题内容:题示代码的功能为:循环遍历输出Map当中的每一个元素Map map=new HashMap();map.put(“jessica”,100);map.put(“tom”,200);map.put(“den”,300);Set《插入代码1》set =《插入代码2》;for (《插入代码3》per : set) {System.out.println(per.getKey() + ":" + per.getValue()); }A. <Entry>map.keySet()EntryB. <Entry>map.entrySet()EntryC. <Map.Entry<String, Integer>>map.keySet()Map.Entry`D. <Map.Entry<String, Integer>>map.entrySet()Map.Entry选择题9选择题内容:请看一下代码:Map map=new HashMap();map.put(“tom”,123.6);map.put(“jim”,234.5);map.put(“terry”,45.3);《插入代码》《插入代码》处要实现的功能是把key为“jim”的value值在原有数字的基础上添加100A. map.put(“jim”,map.get(“jim”)+100);B. map.set(“jim”,map.get(“jim”)+100);C. map.p ut(“jim”,234.5);D. map.set(“jim”,234.5);选择题10选择题内容:下列代码的运行结果是(“_”表示空白):public class Base{private void test() {String aStr = "_One_";String bStr = aStr;bStr =aStr.trim();System.out.println("[" + aStr + "," + bStr + "]"); }static public void main(String[] a) {new Base().test();}}选项A:A. [One,_One_]选项B:B. [_One_,One]选项C:C. [One,One]选项F:D. [_One_,_One_]。