黑马集合知识测试(带解析).
集合练习题加答案
集合练习题加答案一、选择题1. 以下哪个选项不是集合的三个基本特征之一?A. 确定性B. 互异性C. 可数性D. 无序性答案:C2. 集合A={1,2,3},集合B={2,3,4},求A∩B。
A. {1}B. {2,3}C. {4}D. {1,2,3}答案:B3. 对于集合A={1,2,3},集合B={2,3,4},求A∪B。
A. {1,2,3}B. {2,3}C. {1,2,3,4}D. {4}答案:C4. 若集合A={x|x<5},集合B={x|x>3},则A∩B的元素个数为多少?A. 0B. 1C. 2D. 无穷多答案:C5. 集合A={1,2,3},若A⊆B,B={1,2,3,4,5},则A和B的关系是:A. A是B的子集B. A是B的真子集C. A与B相等D. A是B的超集答案:B二、填空题6. 集合A={x|x是小于10的正整数},用描述法表示A为______。
答案:A={x|x<10, x属于正整数}7. 集合M={x|x是偶数},用列举法表示M为______。
答案:M={0, 2, 4, 6, 8, ...}8. 若集合P={x|x²-5x+6=0},求P的元素。
答案:P={2, 3}9. 集合Q={x|x²-4=0},求Q的元素。
答案:Q={-2, 2}10. 若集合R={x|x²+2x+1=0},求R的元素。
答案:R={-1}三、简答题11. 定义集合A={1,2,3},集合B={3,4,5},求A和B的差集。
答案:A-B={1,2}12. 集合C={x|x²-3x+2=0},求C的元素。
答案:C={1,2}13. 集合D={x|x是自然数,且x<10},求D的元素个数。
答案:D的元素个数为9。
14. 集合E={x|x是奇数},用描述法表示E。
答案:E={x|x=2k+1, k属于整数}15. 若集合F={x|x是大于0且小于10的整数},求F的元素。
第6章 集合类(黑马程序员版)
接下来通过一个案例来学习这些方法的使用,请查看教材文件6-2。
✎ 6.3 List接口
Iterator接口
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提 供了一个接口Iterator。Iterator接口也是Java集合中的一员,但它与Collection、 Map接口有所不同,Collection接口与Map接口主要用于存储元素,而Iterator主 要用于迭代访问(即遍历)Collection中的元素,因此Iterator对象也被称为迭代 器。
பைடு நூலகம்
✎ 6.3 List接口
图中,通过两张图描述了LinkedList集合新增元素和删除元素的过程。其中,左 图为新增一个元素,图中的元素1和元素2在集合中彼此为前后关系,在它们之 间新增一个元素时,只需要让元素1记住它后面的元素是新元素,让元素2记住 它前面的元素为新元素就可以了。右图为删除元素,要想删除元素1与元素2之 间的元素3,只需要让元素1与元素2变成前后关系就可以了。由此可见 LinkedList集合具有增删元素效率高的特点。
图中,在调用Iterator的next()方法之前,迭代器的索引位于第一个元素之前,不指 向任何元素,当第一次调用迭代器的next()方法后,迭代器的索引会向后移动一位, 指向第一个元素并将该元素返回,当再次调用next()方法时,迭代器的索引会指向 第二个元素并将该元素返回,依此类推,直到hasNext()方法返回false,表示到达了 集合的末尾,终止对元素的遍历。
☞点击查看本小节知识架构
模拟KTV点歌系统
Set接口
☞点击查看本小节知识架构
模拟新浪微博用户注册
Map接口
☞点击查看本小节知识架构
超级黑马形态全攻略系列(二)——解密股价分时走势的密码(上)
《超级黑马形态全攻略系列》——主讲:老马点金第二讲:解密股价分时走势的密码(上)课程目录一、股价的分时走势二、竞价规则三、集合竞价实战一、股价的分时走势高山起于碎石,大海源于细流。
我们每天所看到的红红绿绿的K线,全部源于每一分每一笔的分时成交,它是股价运行的最基础数据,是股价运行的细胞。
研究分时走势的规律,解密分时走势的密码,有助于我们第一时间了解庄家的性格、喜好和意图,进而更好做到精准操盘。
1、分时黄白线分时黄白线即分时图上显示的一条黄线和一条白线,又称黄白二龙。
大盘与个股的黄白线所代表的意图有所不同。
大盘分时走势图中的黄白线,白线是代表加权的即时指数线,是交易所编制和发布的,往往代表大盘股的走势;黄线则代表不加权的即时指数线,是各个软件公司自行编制的,往往代表大多数小盘股的走势。
当大盘上涨时:如果白线在上方,则说明大盘的上涨主要是由大盘股带动的;如果黄线在上方,则说明大盘的上涨主要是中小盘个股带动的。
当大盘下跌时:如果白线在下方,则说明大盘下跌主要是由大盘股下跌造成的;如果黄线在下方,则说明大盘下跌主要是由小盘股下跌造成的。
正常情况下,黄白二线有相互牵拉的作用,即如果有一条线向上,则另一条会受到拉升而向上;如果有一条线向下,则另一条线也会受到牵引而向下。
如果黄白二线同时并力向上或者同时并力向下,此时的力度会更强。
例:999999 上证综指 2012年10月26日分时图(图示: 999999 上证综指 2012年10月26日分时图)个股的分时走势图中的黄白线,白线代表股价当天的即时价格线,黄线代表的是含成交量的加权平均价格线,代表当天买进的投资者的平均持仓成本。
在白线同等的涨幅时,若分时走势中成交量明显放量,则黄线拉升较快,若成交量没有放量或者放量较小,则黄线拉升较慢。
黄线对白线有较强的支撑和压制作用,当白线在黄线上方时表现为支撑作用,当白线在黄线下方时表现为压制作用。
例: 000014 沙河股份 2012年8月24日分时图(图示:000014 沙河股份 2012年8月24日分时图)2、分时成交量与内外盘分时图中成交量的每根量柱是按每一分钟来计算的,每一天有240根量柱。
黑马点招面试问题
1.静态变量和实例变量的区别局部变量不能用静态的,如果用了静态的,则不会从静态区消失* 静态变量也叫类变量成员变量也叫对象变量* A:所属不同* 静态变量属于类,所以也称为为类变量* 成员变量属于对象,所以也称为实例变量(对象变量)* B:内存中位置不同* 静态变量存储于方法区的静态区* 成员变量存储于堆内存* C:内存出现时间不同* 静态变量随着类的加载而加载,随着类的消失而消失* 成员变量随着对象的创建而存在,随着对象的消失而消失* D:调用不同* 静态变量可以通过类名调用,也可以通过对象调用* 成员变量只能通过对象名调用2.Interger和int的区别int是java提供的8种原始数据类型之一。
Java为每个原始类型提供了封装类,Integer 是java为int提供的封装类。
int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。
3.谈谈你对面向对象的理解如何大象装进冰箱?面向过程:为了把大象装进冰箱,需要3个过程。
1) 把冰箱门打开(得到打开门的冰箱)2) 把大象装进去(打开门后,得到里面装着大象的冰箱)3) 把冰箱门关上(打开门、装好大象后,获得关好门的冰箱)每个过程有一个阶段性的目标,依次完成这些过程,就能把大象装进冰箱。
1:冰箱开门(冰箱)冰箱装进(冰箱, 大象)冰箱关门(冰箱)==换个写法(冰箱开门冰箱)(冰箱装进冰箱大象)(冰箱关门冰箱)2:冰箱关门(冰箱装进(冰箱开门(冰箱), 大象))==换个写法(冰箱关门 (冰箱装进 (冰箱开门冰箱) 大象))面向对象:每个动作有一个执行者,它就是对象。
1) 冰箱,你给我把门打开2) 冰箱,你给我把大象装进去(或者说,大象,你给我钻到冰箱里去)3) 冰箱,你给我把门关上依次做这些动作,就能把大象装进冰箱。
黑马入学测试题答案(整理).(DOC)
1.定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法;例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯。
public enum Lamp {RED("GREEN"),GREEN("YELLOW"),YELLOW("RED");private String next;private Lamp(String next){this.next = next;}public Lamp nextLamp(){return Lamp.valueOf(next);}}2、写一个ArrayList类的代理,实现和ArrayList中完全相同的功能,并可以计算每个方法运行的时间。
public class test1 {public static void main(String[] args) {final ArrayList target = new ArrayList();List proxy = (List)Proxy.newProxyInstance(List.class.getClassLoader(),ArrayList.class.getInterfaces(),new InvocationHandler() {@Overridepublic Object invoke(Object proxy, Method method, Object[] args)throws Throwable {long beginTime = System.currentTimeMillis();Thread.sleep(10);Object reVal = method.invoke(target, args);long endTime = System.currentTimeMillis();System.out.println(method.getName()+" runing time is "+(endTime-beginTime));return reVal;}});proxy.add("nihaoa");proxy.add("nihaoa");proxy.add("nihaoa");proxy.remove("nihaoa");System.out.println(proxy.toString());}}3. ArrayList list = new ArrayList();在这个泛型为Integer的ArrayList中存放一个String类型的对象。
黑马程序员基础评测:集合类02
黑马程序员基础评测:集合类以下题目为单选题或多选题,请认真作答。
请在您认为正确的答案前勾选“√”1下列关于List说法正确的是( ) ----- 单选A、List是一个类B、List是一个接口C、List是一个抽象类D、List是单列集合最顶层的接口2将集合转换成数组的方法是哪个( ) ----- 单选A、toCharArray()B、getBytes()C、toArray()D、size()3下列代码中,说法错误的是( ) ----- 单选ArrayList<String> list = new ArrayList<>();list.add("a");list.add("b");list.add("c");list.add("d");A、代码在JDK6中会报错B、list集合只能存放字符串对象C、list集合可以存放字符D、list集合能存放new String()4下列关于泛型的由来说法不正确的是( ) ----- 单选A、泛型的出现可以把运行时出现的问题提前放到编译时期就发现B、泛型的出现可以把编译时出现的问题放到运行之后就发现C、泛型可以避免强制类型转换D、泛型是一种安全机制5下列关于listIterator()说法正确的是( ) ----- 单选A、listIterator()返回的是ListIterator的子类对象B、listIterator()返回的是ListIterator的父类对象C、listIterator()方法不是List体系中特有的方法D、listIterator()方法是Collection里的方法6在下列代码中,关于it.next()方法的作用理解正确的是( )---单选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、判断是否还有下一个元素C、接收键盘录入的字符串D、获取集合中的下一个元素7下列关于集合的概述错误的是( ) ----- 单选A、集合是一个容器B、集合的长度是不可变的C、集合体系中有很多子类D、集合只能存储引用类型数据8关于泛型的说法,错误的是()--- 单选A、<>中只能放引用类型B、<>中可以放基本类型。
上海卷01(高考仿真模拟) (金榜题名)决战2023年高考数学黑马逆袭卷 附答案
2023年高考数学黑马逆袭卷(上海专用卷01)数学(考议时间:120分钟议卷满分:150分)注意事项:1.答卷前,考生务必将自己的姓名、准考证号填写在答是E卡上。
2.回答选择题时,逃出每小题答案后,用铅笔把答是里卡上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
回答非选择题时,将答案写在答;题卡上。
写在本试卷上无效。
3.考试结束后,将本试卷和答是E卡-并交回。
一、填空题〈本大题共12题,1-6每题4分,7-12<!事题5分,共54分〉1.函数y= ./2i+J.+log2 (2-x)的定义域为2定义A-B={对xeA且X!e B),若A={l,3,5,7,9},B = {2,3,5},则J(A-B)v(B-A)=一-3四(吨的展开式中第坷的撒切翩翩之比山则n.=4.已知向量a=(-1,2),向最b=(-3,4),则向量。
在b方向上的投影向量为一一一·5若复数z=字型(i为应数单位〉在复平而上对应的点在第四象|坝,则实敛。
的取值范围l+LI为·6.i谱写出-组由6个不同的自然数从小到大排列的数据,这组数据要满足以下两个条件:①第70百分位数为6,②极差为6.-7.如图,己知正三梭校ABC-A,B,C,的底而边长为lcm,高为5cm,一质点自A点出发,沿莉三棱校的侧丽绕行两周到达A,点的;最短路线的长为’Ai l飞U~,,,,c,B8.非空集合A中所有元素乘积记为T(A).己失11综合M= {l,4,5,7,8),从综合M的所有非空子集中任选-个子如,贝I J T(A)为偶数的概率是(结果用最简分数表示)9.设A(2,0)为平面上一定点,Pl s in[ 2t-王j,co s[ 2t-王l I为动点,则当t由0变化到旦时,l l 3) l 3JJ线段AP 扫过的面积是一一一--10.叫窒αb c, (i =与-b 的夹角为0』,若对于任意,,,/2 > 0,总有k >!cos向-co吗|,贝忱的毅小值为11.费马点是指位于三角形内旦到三角形三个T§j点距离之和最小的点。
黑马程序员java培训就业班笔记集合体系总结
1、Collection:集合框架的由来:因为每一个容器对象的自身的数据结构不同,所以对它们进行单独的描述和对象封装,并非断的向上抽取共性内容,这样变形成了集合框架。
概念:集合就是一个容器、用来存储对象、长度可变。
理解:其实班级就是一个容器,班上的每一个学生都是单独封装了功能的对象,因为班级中的人数由于有人请假天天都再转变,所以长度是可变的,常见方式:1、增加:add();增加一个元素addAll();增加一部份元素。
2、删除:Remove();删除一个元素,会返回boolean类型,其实用到是equals方式,所以判断是不是有符合要求的元素。
若是删除成功会改变集合的长度。
下面同理。
removeAll();删除全数Clrea();清空容器总结:在这里要尤其注意,面试题中常常考到。
3、判断:Contains();是不是包括,也就说要所有的都包括在其中才算包括,不然不算包括。
isEmpty();集合是不是为空Size();集合长度。
4、取:retainAll();取交集。
理解总结:班级就是一个容器,班级中进来一名新生就是Add()添加一个元素,来了一堆同窗就是addAll,班上出去一个学生就是remove删除一个,出去一部份就是removeAll删除一部份,班级是不是有人,isEmpty,班上是不是包括张三contains,班上有多少人size。
班上是不是包括隔壁班的同窗retainAll.去交集。
集合利用细节:1、直接存储大体数据类型值也是可以的,因为后有自动装箱,会将大体数据类型转成对象,绝对不行。
Eg:(3)2、集合对象中存储的实际上是对象的元素的引用。
3、Add的参数是Object类型,可以接收所有的类型的对象,会出现向上转型,掏出元素时类型仍是Object不能利用具体对象的特有内容,想要利用特有内容向下转型。
Eg:Object obj="obj";想要掏出访问子类的特有方式,向下转型,String s=(String)();sop());|--List:有序列表(存取顺序是一致的)因为该子体系元素中有索引或角标,可以存储重复的元素。
黑马面试题
传智播客java就业班入学测试题共50道题,每道题2分,总分100分,80分为合格。
注意,题目有多选,也有单选。
请认真作答。
对应试者的忠告:传智播客从办学一来,向来在IT培训领域保持着良好的口碑,之所以能做到这么好的口碑,主要得益于过硬的教学质量以及学员的高就业率。
本测试题的目的在于匡助学员检测自己的java基础,因为公司要保证教学质量,光有名师授课是远远不够的,还需要学员们都具备一个基本的java基础,试想一下,如果学员入学前我们不进行测试,那末必然会导致学生的技术水平参差不齐,再好的老师也无法把这样的班教好。
希翼参加测试的学员能本着对自己负责的态度,独立完成这套测试题。
如果您试图通过找人帮忙做题等其他途径来完成这套测试题,我们劝您千万别这样做,因为这样是害了自己。
即使通过测试,顺利进入就业班的学习,同样是跟不上老师的进度,不会有一个好的结果。
如果您觉得完成这套测试题非常有难度,那也没有关系,因为我们针对基础不好的学员专门开设了 java基础与加强班,您可以通过短期的培训,打下一个坚实的基础,再继续参加我们就业班的培训。
1.在JAVA中,下列哪些说法是正确的()A.java源文件的扩展名为.javaB.写好的java源程序可以直接运行C.编写的源程序必须先编译后才干运行D.程序员可以读懂扩展名为.class的文件2.下列标识符哪个是合法的()A.classB.$abcC.1234D._name3.下面哪些赋值语句是正确的?()A. long test = 012;B. float f = -412;C. int other = (int) true;D. double d = 0x12345678;E. byte b = 128;4.在Java中,下列语句不能通过编译的有()A. String s= “join”+ 3;B. int a= “join”+3;C. int a= …a‟+5;D. float f=5+5.5;5.设 a = 3,则表达式 (--a )<<a的结果是()A. 16B. 8C. 24D. 126.下列代码运行的结果是( )public static void main(String[] args) {int x = 4;int y = 5;if(x++>4 & ++y>5) {x++;}}A. x=4,y=5B. x=4,y=6C. x=5,y=6D. x=6,y=67.尝试运行下面的代码会发生什么?( )public class Test {public static void main(String[] args) { boolean m = true;if (m = false) {} else {}}}A. 输出字符串”true”B. 输出字符串”false”C. 编译时错误D. 运行时错误8.编译并运行以下代码将发生什么?()public static void main(String args[]){ char digit = 'a';for (int i = 0; i < 10; i++){switch (digit){case 'x' :{int j = 0;System.out.println(j);}default :{int j = 100;System.out.println(j);}}}int i = j;System.out.println(i);}A. 输出11次100B. 输出10次100,然后抛出运行期异常C. 编译错误,因为变量i不能在main() 方法中被声明2次D. 编译错误,因为变量j不能在main() 方法中被声明2次E. 以上都不对9.class Demo{public static int fun(int c){return c+=2;}public static void main(String[] args){int temp = fun(2);System.out.println(temp);}}A. 2B. 4C. 6D. 810.下面哪些函数是public void aMethod(){...}的重载函数?()A. void aMethod( ){...}B. public int aMethod(int a, float b){...}C. public void aMethod (){...}D. public float aMethod (int m){…}11.在java中,关于数组描述正确的是()A.数组中的索引下标从1开始B.存储在数组之中的数据都属于同一数据类型C.通过数组名.length()能获得数组的长度D.数组的最大索引下标是数组的长度减112.下面程序的输出结果是什么( )int[] arr = new int[10];System.out.println(arr[0]);A.编译不通过B.运行时出错C.输出nullD.输出013.下面哪个语句正确地声明一个整型的二维数组( )A. int a[][] = new int[][];B. int b[10][10] = new int[][];C. int c[][] = new int[10][10];D. int []d[] = new int[10][10];)以下代码输出是(14.class Demo {public static void main(String[] args) { int i = 0;int sum = 0;while (i <= 10) {i++;if (i % 2 != 0)continue;sum += i;}System.out.println(sum);}}A. 55B. 45C. 35D. 3015.和下面代码能完成相同的选项是()class Demo {public static void main(String[] args) {int i = 1;int sum = 0;while (i <= 100) {if (i % 2 == 0) {sum = sum + i;}i++;}System.out.println(sum);}}A. for (int x =1; x<=100;x++){ sum=sum+x;}B. for (int x =0; x<=100;x+=2){ sum=sum+x;}C. for (int x =1; x<=100;x+=2){ sum=sum+x;}D.上述全对16.下列有关类、对象和实例的叙述,正确的是哪一项?()A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称17.下面关于java中包的说法正确的是( )A. 在java中可以使用import语句导入包B. 在java中可以使用package语句导入包C. 位于同一个包中的类,不需要导包就可以直接访问D. 不同的包中可以浮现类名相同的类18.下列有关抽象类的叙述正确的是哪项?()A.抽象类中一定含有抽象方法B.抽象类既能被实例化也能被继承C.抽象类的声明必须包含abstract关键字D.抽象类中不能有构造方法19.下列有关接口的叙述错误的是哪项?()A.接口中只能包含抽象方法和常量B.一个类可以实现多个接口C.类实现接口时必须实现其中的方法D.接口不能被继承20.运行以下代码片段,输出结果是?()class X {Y b = new Y();X() {}}class Y {Y() {}}public class Z extends X {Y y = new Y();Z() {}public static void main(String[] args) {new Z();}}A. ZB. YZC. XYZD. YXYZ21.下列关于类的继承的描述,正确的有()A. 一个类可以同时继承多个父类B. 一个类可以具有多个子类C. 子类会自动拥有父类所有的方法D. 一个类继承另一个类需要使用 extends 关键字22.下列选项中关于java中this关键字的说法错误的有( )A. this关键字是一个对象的引用B. this关键字可以用于引用当前类以外其他类型的对象C. this可用于构造函数中,调用类本身重载的构造函数,但是必须写在首行D. this可用于静态方法中23.下列关于构造函数的说法正确的是( )A. 方法名必须与类名相同B. 使用new关键字创建对象时,java虚拟机会自动调用构造函数C. 我们在定义一个类时,必须要声明至少一个构造函数D. 构造函数中不能使用return语句24.编译并运行以下代码将发生什么?( )class MyClass {int x;MyClass(int i) {x = i;}public static void main(String args[]) {MyClass m1 = new MyClass(100);MyClass m2 = new MyClass(100);if (m1.equals(m2)) {} else {}}}A. 代码编译时报出错误提示信息“equals() 方法未定义”B. 编译通过,抛出运行期异常.C. 输出Both are equal.D. 输出Both are not equal25.运行以下的main()方法,结果是?()1 public static void main(String[] args)2 {3 String myString;4 int x = 100;5678 System.out.println(myString.length());9 }A.编译时报出错误提示信息“变量myString没有被初始化”B.编译通过C.编译未能通过。
基本知识黑马面试必考题
基本知识JDK和JRE的区别答:JDK是java语言开发工具包,包含JRE和开发工具(javac.exe等);JRE是java语言的运行环境,包含JVM和核心类库;JVM是java虚拟机,保证了java的跨平台性。
JVM跨平台吗?答:JVM不具有跨平台性,不同的操作系统所对应的JVM不一样。
正是因为JVM的不跨平台,才能够使java语言具有跨平台性。
保留字是什么?答:保留字是还未使用的关键字,可能在java以后的版本中使用。
有goto和const。
java语言的特点?答:完全面向对象,跨平台性,开源,简单易学,安全可靠,高性能,分布式处理,多线程,健壮性,多态。
main是关键字吗?答:不是的。
main是主函数的名字,能够被虚拟机识别,是程序执行的入口。
\path和classpath的区别?答:path环境变量配置的是可执行文件.exe的执行路径;能够在不同盘符下访问path路径下的可执行文件。
Classpath配置的java语言编译后生成的字节码文件的执行路径。
7. 计算机最基本的存储单位是:字节(byte)计算机能直接识别的进制是:二进制8进行运算的时,变量和常量有什么区别?答:变量在运算过程中的值是变化的,可以被多次赋值。
常量则是固定的。
9标识符的组成?以及命名规则?答:标识符有26个字母的大小写,0到9,_和$组成。
命名规则:不能使用关键字,不能数字开头,严格区分大小写,要见名知义。
函数名和变量名如果是多个单词组成,第一个单词的首字母小写,其余首字母大写。
类名和接口名如果是多个单词组成,首字母全部大写。
包名全部小写。
常量名全部大写,如果是多个单词,用_隔开。
10.变量数据类型分为哪几种?如何使用变量?答:基本数据类型:整形:包括byte、short、int、long。
浮点型:包括float、doble。
字符型;char;布尔型:boolean。
引用数据类型:数组、类、接口。
变量需要先定义,再赋值,才能使用。
黑马面试题汇总(理论部分)
理论题1.Java语言基础1. 数组是引用数据类型还是基本数据类型?答:数组是引用数据类型.2. java的数据类型有哪些?答:(1)基本数据类型.整数型:byte short int long浮点型:float double字符型:char布尔类型:boolean(2)引用数据类型类接口数组3.冒泡排序和选择排序的区别?答:(1)冒泡排序依次比较相邻的两个数,将小数(或者大数)放在前面,大数(或者小数)放在后面,如此下去,重复以上过程,直至最终完成排序.(2)选择排序每一趟从待排序的数组元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列最后,直到全部待排序的数据元素排完.4. i++和++i的区别?答:简单的来说,++i和i++,在单独使用的时候,就是i=i+1;而a=++i,相当于i=i+1;a=i;而a= i++,相当于a=i;i = i+1;5.short s1 = 1; s1 = s1 + 1;有什么错? short s1 =1; short s1 +=1;有什么错?答:对于前者,由于s1 + 1 运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器会报告需要强制类型转换的错误.对于short s1 = 1; s1 +=1; 由于+=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译.6.&& 和& 的区别?答:7."==" 和equals 方法究竟有什么区别?答:"=="操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用"=="操作符.如果一个变量指向的数据是对象类型的,那么这时候就涉及到了两块内存,对象本身占用了一块内存(堆内存),变量也占用了一块内存.此时变量所对用的内存中存储的数值就是对象占用的那块内存的首地址.对于指向对象类型的变量,如果要比较两个变量是否指向同一个对象.即要看这两个变量所对应的内存中的数值是否相等,这时候需要用==操作符进行比较.A:==a:基本类型比较的是基本类型的值b:引用类型比较的是引用类型的地址值B:equals()只能比较引用类型。
黑马测试题目
黑马程序员训练营基础测试1、请说明Collection,List,Map,Set之间的关系2、已知一个int类型的数组,用冒泡排序法将数组中的元素进行升序排列。
3、环境变量path和classpath的作用是什么?4、排序有哪几种方法?请列举。
并用JAVA实现一个快速排序.5、定义一个学生类, 需要有姓名, 年龄, 考试成绩三个成员属性. 属性(成员变量)需要私有并提供get, set方法, 可以通过构造函数进行初始化.6、编写一个类Person,为Person类定义年龄、姓名两个属性,并且定义一个SayHello方法,方法执行时输出“我是***我的年龄是***”;定义一个Chinese类从Person类继承。
7、先写一个程序,打印从1到100的值。
之后修改程序,通过使用break 关键词,使得程序在打印到98时退出。
然后尝试使用return来达到相同的目的。
8、用控制台程序输出九九乘法表;输出结果按下图所示:1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=9.........9、编程实现:猫和狗都会叫,但猫是喵喵的叫,狗是汪汪的叫?定义一个动物类,在动物类(animal)中有一个叫的抽象方法。
写两个子类,一个猫一个狗,继承自动物类,并实现相应的抽象方法。
10、编写HTML注册表单, 需要字段: 用户名, 密码, 确认密码, 性别(单选), 城市(下拉列表), 兴趣爱好(多选), 个人简介(文本域)。
然后使用JavaScript验证这个HTML表单,要求:1、用户名: 必须是字母数字或下划线, 不能以数字开头.2、密码: 6-16位字母数字下划线.3、确认密码: 和密码一致.4、其他项为必填.。
黑马程序员面试题
1、(黑马点招面试题):有类似这样的字符串:"1.2,3.4,5.6,7.8,5.56,44.55"请按照要求,依次完成以下试题。
(1)以逗号作为分隔符,把已知的字符串分成一个String类型的数组,数组中的每一个元素类似于"1.2","3.4"这样的字符串(2)把数组中的每一个元素以"."作为分隔符,把"."左边的元素作为key,右边的元素作为value,封装到Map中,Map中的key和value都是Object类型。
(3)把map中的key封装的Set中,并把Set中的元素输出。
(4)把map中的value封装到Collection中,把Collection中的元素输出。
2、(黑马点招面试题):现有如下两个已知条件:在F盘有一个文件:a.txt ,该文件内容如下:test.Person,id:5test.Student,id:6(1)读取a.txt中为每一行,把每一行放入一个变量中(2)用","分隔符把变量变成一个String类型的数组。
(3)读取数据中的第一个元素,利用java反射机制创建对象。
3、编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,并将所有已输入的字符串按字典顺序倒序打印。
4、编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。
5、编写一个类A,增加一个实力方法showString,用于打印一条字符串,在编写一个类TestA ,作为客户端,用键盘输入一个字符串,改字符串就是类A的全名,使用反射机制创建该类的对象,并调用该对象中的方法showString。
6、键盘录入5个数据,存储到一个数组中,取最大值和最小值。
7、取出一个字符串中字母出现的次数。
如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...8、向泛型为Integer的ArrayList中添加一个String类型的元素9、定义一个文件输入流,调用read(byte[] b)方法将exercise.txt文件中的所有内容打印出来(byte数组的大小限制为5)。
java集合黑马程序员题目
java集合黑马程序员题目摘要:1.Java 集合概述2.Java 集合的分类3.黑马程序员题目中涉及到的Java 集合知识点4.如何准备Java 集合相关的考试题目正文:一、Java 集合概述Java 集合是Java 编程语言中用于存储和操作数据的一种数据结构,它提供了多种内置的集合类,使得开发者可以方便地对数据进行存储、查询、修改和删除等操作。
在Java 编程中,集合类的使用非常广泛,因此对于程序员来说,熟练掌握Java 集合的相关知识是非常重要的。
二、Java 集合的分类Java 集合主要可以分为以下几类:1.List:列表集合,包括ArrayList、LinkedList 等,可以存储重复的元素。
2.Set:集合,包括HashSet、TreeSet 等,存储不重复的元素,并按照某种规则进行排序。
3.Queue:队列,包括ArrayDeque、PriorityQueue 等,可以按照先进先出(FIFO)或优先级等规则进行元素的存储和访问。
4.Map:映射,包括HashMap、TreeMap 等,可以将键值对进行存储,并根据键进行快速查找和访问。
三、黑马程序员题目中涉及到的Java 集合知识点在黑马程序员的考试题目中,Java 集合相关的知识点通常包括以下几个方面:1.各种集合类的特点和使用场景2.集合类的基本操作,如添加元素、删除元素、查找元素、遍历集合等3.集合类的迭代器和迭代方法4.集合类的大小和性能分析5.集合类与其他数据结构的转换关系,如List 与Array、Set 与List 等四、如何准备Java 集合相关的考试题目为了在黑马程序员的考试中取得好成绩,可以采取以下方法准备Java 集合相关的考试题目:1.系统学习Java 集合的基本概念、特点和使用方法,了解各种集合类的优缺点和使用场景。
2.编写实例代码,熟练掌握各种集合类的操作方法,如添加元素、删除元素、查找元素等。
3.通过做题和参加模拟考试,不断总结和巩固Java 集合的知识点,提高解题能力和应试技巧。
【黑马程序员】集合的白话讲解
【黑马程序员】集合的白话讲解集合的白话讲解本文章作为集合的入门讲解,通俗易懂,很适合Java零基础的朋友们阅读。
Java中的集合到底是什么,该怎么使用,这些问题时常困扰着初学Java语言的朋友,殊不知其实集合是非常简单的一个小知识,朋友们在学习集合的时候,能把下列的三点弄明白,就可以入门了,接下来咱们就快速学习一下集合吧。
∙1、什么是集合∙Java中的集合到底是什么呢?其实很多人在学完整个Java基础的时候都没有搞清楚,认为集合就是一个集合,就是一个Java中的基础知识,一个Java中的专业术语。
确实,集合是一个Java语言中的专业术语,但是如果大家按照这个概念去学习的话,学起来会很困难,并且难以攻破它。
∙不知道朋友们对Java世界了解多少,说到Java世界,咱们先来了解一下咱们所生活的现实世界,正如我之前写的关于面向对象的文章一样,其实Java源于生活,生活映射Java。
在我们现实生活中,大家想一个问题,如果我们的生活用品很多,多到有的时候可能找不到一些想要的东西的时候,该怎么办?你平时的物品比如牙刷会放到哪里,衣服会收到哪里,袜子会放到哪里,年轻时候写的情书和收到的情书会放到哪里?其实这个问题很好回答,有的朋友会说,牙刷会放到杯子中,衣服会收到衣柜中。
一些袜子,小件会收到箱子中。
没错,回答的很好。
细心的朋友们会发现,我其实这么问是在强调一个东西,这个东西就是具有储存功能的箱子,衣柜等,那我们可以把这些具备存储功能的东西合在一起称为容器。
∙朋友们可以好好想一想,在我们的生活中,这些容器是不是随处可见,而且对于我们的生活来说是必不可少的,如果在这个世界上没有容器的话,相信我们都没法好好生存了吧。
那映射到Java世界中的话也是一样的,在Java中,如果没有容器存在的话,也是不好过的,比如说在Java中,需要很多很多的数据,但是数据多了,就不方便去管理,更不方便去操作这些数据,很乱很麻烦。
但是如果Java中一旦有了容器这种东西,那是不是会变得很方便了。
黑马Java基础入学测试题_
考试题目:本试卷是JAVA基础班入学考试试卷,主要考察JAVA基础前五天大家在入学之前掌握的一个整体情况,本试卷共有40道题,其中有30道是单选,有10道题是多选题,希望大家认真对待公司对语言的宣传口号为“一次编程,到处执行”,体现了的什么特性:编程的简单性:与平台无关性的面向对象特性程序的鲁棒性平台有三个版本,分别是、、,下列说法不正确的是是指语言的标准版是指语言的标准版是指企业级的开发语言,是为企业提供服务的是为机顶盒、移动电话和之类嵌入式消费电子设备提供的语言平台,包括虚拟机和一系列标准化的想要运行程序,必须得先通过源文件,然后再通过程序工具编译工具运行工具编译工具运行工具编译工具运行工具编译工具编译语言中的及数据类型的长度分别为1位6和8位位8和16位3位2和16位3位2和8位请问数据的取值范围是:负127-:负128-:以上都不对语言的源程序经编译后所生成的程序类型为型的可执行程序型二进制的程序型二进制的库程序型类代码的程序某程序的类定义如下则源文件编译后生成的类文件名称为:下列那种标识符在程序中是错误的下列那种标识符不能作为程序中的变量名请.问,以下哪些语句不是合法的赋值语句?下面()段语句在编译时不会出现异常和错误。
以.下代码的运行结果为:编译错误:以上都不对下列各种符号的定义格式,那种在语言中是错误的变量定义 下列各种中的赋值操作语句,那种在语言中是错误的赋值语句下.列各种符号的定义格式,那种在 语言中是正确的布尔性的变量定义”=表达1式之值为设.下列关于变量和常量的说法正确的是常量表示不能被改变的值,例如I、"”都是常量常量表示常见的变量代码中,表示常量,表示变量在同一个大括号{}内,定义的变量不能够重名根.据程序,判断"翻转课堂"的打印次数是翻转课堂次次次次在中,关于数组描述正确的是(C存储在数组当中的数据可以属于不同的数据类型数组中的索引下标从0开始通过数组名能获得数组的长度数组的最大索引下标是数组的长度13.下.面哪个数组的格式是错误的请.问,以下哪些是初始化数组的不正确语法形式?输出的结果是下面语言方法的说法错误的是:方法调用时参数类型必须符合方法的定义:方法只能声明一个返回值如果方法没有返回值必须声明返回为如果方法定义为返回,则方法中不能出现 4下.关于函数重载的说法正确的有如方法名必须一样如与返回值类型无关如参数个数或者顺序不一样如参数类型不一样 根据程序判断与的值是在中,不是用来跳出循环的关键字为查看代码,想要输出A 哪个选项可以实现语.句 语句看下面程序判断打印出来的值是给定代码如下所示,则下划线处填入(),可使这段代码编译成功。
解析版备战高考黑马卷高考数学模拟试卷新高考
【备战高考·黑马卷】高考数学模拟试卷黑马卷01(本卷满分150分,考试时间120分钟。
)一、单项选择题:本题共8小题,每小题5分,共40分。
在每小题给出的四个选项中,只有一项是符合题目要求的。
1.已知集合{}sin ,M y y x x ==∈R ,{}220N x x x =--<,则MN =( ) A .(]1,1- B .[)1,2-C .()1,1-D .[)1,1-【答案】A【解析】由正弦函数值域可知{|11}M y y =-≤≤, 由220x x --<解得{|12}N x x =-<<,所以{|11}M N x x =-<≤,即(]1,1-故选:A2.若复数z 满足(2i)5i 0z ++=,则( ) A .z 的虚部为-2B .12i z =+C .z 在复平面内对应的点位于第二象限D .425z =【答案】AD 【解析】由5i12i 2iz -==--+,虚部为-2,故A 正确; 12i z =-+,故B 错误;z 在复平面内对应的点位于第三象限,故C 错误;444||525z z ===,故D 正确.故选:AD3. 6a π=是()1sin 2πα-=的( ) A .充分不必要条件 B .必要不充分条件 C .充分必要条件 D .既不充分又不必要条件【答案】A 【解析】由6πα=,得56ππα-=,所以()1sin 2πα-=,故充分; 由()1sin 2πα-=,得1sin 2α=,所以26k παπ=+或()526k k Z παπ=+∈,故不必要, 故选:A4.以边长为2的正方形一边所在直线为轴旋转一周,所得到的几何体的体积为( ). A .2πB .8πC .2π3D .8π3【答案】B【解析】以边长为2的正方形一边所在直线为轴旋转一周所得几何体是以2为底面圆半径,高为2的圆柱, 由圆柱的体积公式得:2228V ππ=⨯⨯=, 所以所得到的几何体的体积为8π.故选:B5.魏晋南北朝时期,我国数学家祖冲之利用割圆术,求出圆周率π约为355113,是当时世界上最精确的圆周率结果,直到近千年后这一记录才被打破.若已知π的近似值还可以表示成4cos382167ππ-的值为( )A .18B .18-C .8D .8-【答案】C【解析】因为4cos38π≈222164cos381616cos 38712sin 7ππ--=-, 16cos38sin388sin 76cos14cos14==,8cos148cos14==,故选:C 6.如图,某建筑物白色的波浪形屋顶像翅膀一样漂浮,建筑师通过双曲线的设计元素赋予了这座建筑以轻盈,极简和雕塑般的气质,该建筑物外形弧线的一段可以近似看成焦点在y 轴上的双曲线()222210,0y x a b a b -=>>上支的一部分.已知该双曲线的上焦点F 到下顶点的距离为36,F 到渐近线的距离为12,则该双曲线的离心率为( ).A .53B .54C .43D .45【答案】B【解析】点(0,)F c 的到渐近线ay x b =,即0ax by -=的距离2212bc d b a b -===+,又由题知2223612a c a c +=⎧⎨+=⎩,解得1620a c =⎧⎨=⎩,所以205164c e a ===.故选:B 7.第24届冬季奥林匹克运动会(北京冬奥会)计划于2022年2月4日开幕,共设7个大项.现将甲、乙、丙3名志愿者分配到7个大项中参加志愿活动,每名志愿者只能参加1个大项的志愿活动,则有且只有两人被分到同一大项的情况有( ). A .42种 B .63种 C .96种 D .126种【答案】D【解析】先将3人分成两组,共23C 种,再在7个大项种选择2个项目安排这两组,共27A 种,所以有且只有两人被分到同一大项的情况共有2237126C A =种.故选:D .8.设函数πsin 23y x ⎛⎫=+ ⎪⎝⎭在区间π,4t t ⎡⎤+⎢⎥⎣⎦上的最大值为()1g t ,最小值为()2g t ,则()()12g t g t -的最小值为( ). A .1 B 22C .212D .222【答案】D【解析】因为函数πsin 23y x ⎛⎫=+ ⎪⎝⎭,所以其最小正周期为22T ππ==,而区间π,4t t ⎡⎤+⎢⎥⎣⎦的区间长度是该函数的最小正周期的14,因为函数πsin 23y x ⎛⎫=+ ⎪⎝⎭在区间π,4t t ⎡⎤+⎢⎥⎣⎦上的最大值为()1g t ,最小值为()2g t ,所以当区间π,4t t ⎡⎤+⎢⎥⎣⎦关于它的图象对称轴对称时,()()12g t g t -取得最小值,对称轴为++4+28t t t ππ=,此时函数πsin 23y x ⎛⎫=+ ⎪⎝⎭有最值±1,不妨设y 取得最大值()11g t =,则有πsin 2+183t π⎡⎤⎛⎫+= ⎪⎢⎥⎝⎭⎣⎦,所以7sin 2+112t π⎛⎫= ⎪⎝⎭, 解得72++2,122t k k Z πππ=∈,得,24t k k Z ππ=-∈, 所以()2g t π2sin 2+sin 2sin 2+32434t k k πππππ⎡⎤⎛⎫⎛⎫⎛⎫==-+== ⎪ ⎪ ⎪⎢⎥⎝⎭⎝⎭⎝⎭⎣⎦,所以()()12g t g t -22- D. 二、多项选择题:本题共4小题,每小题5分,共20分,选错得0分,少选得2分,全对得5分 9.某学校举办班级间篮球比赛,甲、乙两班得分情况如茎叶图所示,甲、乙两班得分的中位数分别是x 甲,x 乙,则下列说法正确的是( )A .x x <甲乙,甲比乙成绩稳定B .x x <甲乙,乙比甲成绩稳定C . x x >甲乙,甲比乙成绩稳定D . x x >甲乙,乙比甲成绩稳定 【答案】C【解析】甲班得分情况从小到大排列为:19,23,25,27,31,其中位数25x =甲; 乙班得分情况从小到大排列为:18,19,24,29,35,其中位数24x =乙,所以x x >甲乙, 又因为乙的叶呈多峰;而甲的叶呈单峰,所以乙的方差比甲的大,所以甲比乙稳定. 故选:C .10.已知向量()1,2OP =,将OP 绕原点O 旋转﹣30°,30°,60°到123,,OP OP OP 的位置,则( ). A .130OP OP ⋅= B .12PP PP =C .312OP OP OP OP ⋅=⋅D .点1P 坐标为31123-+⎝⎭【答案】ABC【解析】因为OP 绕原点O 旋转﹣30°,30°,60°到123,,OP OP OP , 所以1OP →与3OP →的夹角为90︒,故130OP OP ⋅=,A 选项正确;由题意知,12△△OPP OPP ≅,所以12PP PP =,即12PP PP =,故B 正确; 因为312,60,,60OP OP OP OP →→→→<>=︒<>=︒,312||||||||OP OP OP OP →→→→===, 所以由数量积的定义知312OP OP OP OP ⋅=⋅,故C 正确;若点1P 坐标为31123-+⎝⎭,则11723||||5OP OP →→+=≠=D 不正确.故选:ABC11.从点(3,3)-A 发出的光线l 射到x 轴上被x 轴反射后,照射到圆22:4470C x y x y +--+=上,则下列结论正确的是( )A .若反射光光线与圆C 相切,则切线方程为3430x y --=B .若反射光线穿过圆C 的圆心,则反射光线方程为0x y -= C .若反射光线照射到圆上后被吸收,则光线经过的最短路程是52D .若反射光线反射后被圆C 遮挡,则在x 轴上被挡住的范围是3,14⎡⎤-⎢⎥⎣⎦【答案】BD【解析】点(3,3)-A 关于x 轴的对称点为(3,3)A '--.圆22:4470C x y x y +--+=即为22(2)(2)1x y -+-=,斜率存在时,设反射光线方程为3(3)y k x +=+,即330kx y k -+-=. 211k =+,解得43k =或34.∴反射光线为43(3)3y x +=+或33(3)4y x +=+即4330x y -+=或3430x y --=,故A 不正确.又过(3,3),(2,2)A C -'-的方程为y x =,故B 正确;因22(23)(23)52A C =+++='521,故C 不正确.由于两条与圆C 相切的反射光线与x 轴的交点为(1,0)和3,04⎛⎫- ⎪⎝⎭,所以被挡住的范围3,14⎡⎤-⎢⎥⎣⎦,故D 正确.故选:BD12.已知函数()()sin 0,02f x x πωϕωϕ⎛⎫=+><< ⎪⎝⎭的图象在y 3y 轴右侧的第一个最高点的横坐标为12π,则下列说法正确的是( ) A .3πϕ=B .()()5f x f x '+-C .函数在0,12π⎛⎫⎪⎝⎭上一定单调递增D .在y 轴右侧的第一个最低点的横坐标为4π 【答案】AC【解析】由题意,函数()()sin f x x ωϕ=+的图象在y 33sin ϕ=因为02πϕ<<,可得3πϕ=,所以A 正确;又由()sin()3f x x πω=+,且在y 轴右侧的第一个最高点的横坐标为12π,可得12sin()13ππω⨯+=,则2π,12322ππ4412k k Z T πππωω⎧⨯+=+∈⎪⎪⎨⎪=>⎪⎩,可得2ω=,所以()sin(2)3f x x π=+,则()2cos(2)3f x x π'=+,可得()2cos(2)2cos(2)33f x x x ππ'-=-+=-所以()()13sin 22cos 23sin 21cos 2332f x f x x x x x ππ⎛⎛⎫⎛⎫⎛+-=++-=++ ⎪ ⎪ ⎝⎭⎝⎭⎝⎝⎭' 523)x ϕ=++,所以函数()()f x f x +'-523+B 错误;由()sin(2)3f x x π=+,当(0,)12x π∈,可得2(,)332x πππ+∈,根据正弦函数的性质,可得函数()f x 在(0,)12π上单调递增,所以C 正确;由()sin(2)3f x x π=+,令22,32x k k Z πππ+=-+∈,解得5,12x k k Z ππ=-+∈, 当1k =时,可得712x π=,即在y 轴右侧的第一个最低点的横坐标为712π,所以D 错误. 故选:AC.三、填空题:本题共4小题,每小题5分,共20分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集合部分测试题考试宣言:同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!本套题共40道不定项选择题,其中单选30道,多选10道。
单选2分/题,多选4分/题。
多选题不全对半分,全对满分。
1.单列集合的顶层接口是( )a)java.util.Mapb)java.util.Collection // 这是单列集合的老大,必须记住c)java.util.Listd)java.util.Set2.ArrayList类的底层数据结构是( )a)数组结构//看名字也能猜出来底层的数据结构.b)链表结构c)哈希表结构d)红黑树结构3.LinkedList类的特点是( )a)查询快b)增删快// 由于底层是链表结构,所以增删快, 查询慢.c)元素不重复d)元素自然排序4.Vector类的特点是( )a)线程同步 // 这是早期工具的特性之一,安全性高,后来出现的集合都是求效率.b)线程不同步c)增删快d)底层是链表结构5.关于迭代器说法错误的是( )a)迭代器是取出集合元素的方式b)迭代器的hasNext()方法返回值是布尔类型c)List集合有特有迭代器ListIteratord)next()方法将返回集合中的上一个元素// 返回下一个元素.6.在我们所学知识中,下面哪几项是接口( )a) java.util.Mapb) java.util.Collectionc) java.util.Listd) java.util.Set7.实现下列哪个接口,可以启用比较功能( )a)Runnable接口b)Iterator接口c)Serializable接口d)Comparator接口//比较器接口8.下面代码运行的结果是( )ArrayList<String> al = new ArrayList<String>();al.add(true);al.add(123);al.add(“abc”);System.out.println(al);a)编译失败//因为有泛型<String>存在,所以只能存String.b)[true,123]c)[true,123,abc];d)[abc];9.按照课堂要求重写equals和hashCode后,下面关于这两个方法说法正确的是( )a) 两个对象的hashCode值相同,那么他们调用equals()方法返回值一定为trueb) 两个对象的hashCode值相同,那么他们调用equals()方法返回值可以为false//HashCode的值为int类型,如果有超过2^32个不同对象的话,equals值不同,hashCode()方法返回值肯定有重复的c) hashCode值一般与对象的成员变量有关。
d) 只要重写equals方法,就一定要重写hashCode方法10.将Map集合中的键存储到Set集合的方法是( )a)entrySet()b)get()c)keySet() //这个记住吧d)put()11.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述正确的是()a) ArrayList和LinkedList均实现了List接口b) ArrayList的查询速度比LinkedList快c) 添加和删除元素时,ArrayList的表现更佳d) HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值12.A rrayList和Vector的区别说法正确的是( )a)ArrayList是线程安全的,Vector是线程不安全b)ArrayList是线程不安全的,Vector是线程安全的//这个理解,详细大家能明白.c)ArrayList底层是数组结构,Vector底层是链表结构d)ArrayList底层是链表结构,Vector底层是数组结构13.A rrayList的初始化内容如下:ArrayList<String> 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");14.使用TreeSet的无参构造创建集合对象存储元素时,该元素必须 ( )必须实现Comparable接口//这是存到TreeSet集合对象必须做的,字符串已经实现了Comparable接口,所以我们存的时候,直接就可以.b)有main方法c)有get和set方法d)必须实现Serializable接口15.将集合转成数组的方法是( )a)asList() //Arrays.asList(); 记住吧.b)toCharArray()c)toArray()d)copy()16.下面关于HashMap和Hashtable的区别,说法正确的是( )a) Hashtable线程不安全,效率高//A B选项说反了b) HashMap线程安全,效率低c) HashMap允许null键和值d) Hashtable不允许null键和值17.对于增强for循环说法错误的是( )a)增强for循环可以直接遍历Map集合//可以间接遍历.b)增强for循环可以操作数组c)增强for循环可以操作Collection集合d)增强for循环是JDK1.5版本后出现的18.下面的代码用于输出字符数组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);}19.对于HashMap集合说法正确的是( )a)底层是数组结构b)底层是链表结构c)可以存储null值和null键// HashMap的特点,记住.其他map都不行.d)不可以存储null值和null键20.C ollections工具类中的binarySearch()方法描述正确的是( )a)binarySearch()方法只能操作Set集合b)binarySearch()方法只能操作List集合//二分法查找必须是有序的集合c)binarySearch()方法只能操作Map集合d)binarySearch()可以操作所有的集合21.下面代码的运行结果是( )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]抛出ConcurrentModificationException异常// 如何解决这个问题.看下面代码.// ListIterator it = al.ListIterator(); 要解决并发修改异常,就要用LIst 集合特有的迭代器. 这个迭代器可以同时做到上面的操作.22.关于Map.Entry接口说法错误的是( )a)具有getkey()方法b)具有getValue()方法c)具有keySet()方法//这个方法是map集合的.d)具有setValue( )方法23.题示代码的功能为:循环遍历输出Map当中的每一个元素Map map=new HashMap();map.put(“jessica”,100);map.put(“tom”,200);map.put(“den”,300);Set 位置① set = 位置②;for ( 位置③ per : set) {System.out.println(per.getKey() + ":" + per.getValue());}下列每个选项中分别填入上面三个位置,正确的是a) <Entry>map.keySet()Entryb) <Entry<Integer, String >>map.entrySet()Entryc) <Map.Entry<String, Integer>>map.keySet()Map.Entryd)<Map.Entry<String, Integer>>map.entrySet()Map.Entry24.S et集合的特点是( )a)元素有序b)元素无序,不存储重复元素//记住.c)存储重复元素d)Set集合都是线程安全的25.关于将int数组使用系统提供的API转成集合后,不可以进行的操作是( )增加集合中的元素// 数组转成的集合它的性质和那种以前的集合不一样了.大家可以试一下.可以修改元素内容,不能添加元素个数b)迭代集合c)修改集合中的元素d)获取集合中元素的个数26.下面代码运行的结果是( )ArrayList<String> al = new ArrayList<>();//JDK1.7 新特性,后面的泛型可以不写al.add("s");al.add("ddd");al.add("true");System.out.println(al);a)编译失败b)[s,ddd,true] // 都是字符串,没什么说的.c)[true]d)运行报错27.关于HashMap集合说法正确的是( )a)HashMap集合是双列集合b)HashMap集合不允许存储重复键c)HashMap集合不允许存储重复值d)HashMap集合线程是安全的28.L ist集合的遍历方式有如下哪几种 ( )a)Iterator迭代器实现 //开发使用这种方法b)增强for循环实现c) get()和size()方法结合实现d)get()和length()方法结合实现29.下面类或者接口中,不属于集合体系的是( )a) java.util.Collectionsb) java.util.Mapc) java.util.Vectord) java.util.Hashtable30.下面的类是同步的有( )。