3.然后利用迭代器遍历集合元素并输出
1importjava.util.ArrayList;2importjava.util.List;34publicclassTopic15{6publicstaticvoidmain(String[]args){7ArrayList 二:分析以下需求,并用代码实现 1.生成10个1至100之间的随机整数(不能重复),存入一个List集合 2.然后利用迭代器和增强for循环分别遍历集合元素并输出 3.如:15182040466065707591 1importjava.util.ArrayList;2importjava.util.HashSet;3importjava.util.Random;45publicclassTopic2{6publicstaticvoidmain(String[]args){7ArrayList 三:分析以下需求,并用代码实现 2.删除集合元素字符串中包含0-9数字的字符串(只要字符串中包含0-9中的任意一个数字就需要删除此整个字符串) 1importjava.util.ArrayList;2importjava.util.Iterator;34publicclassTopic3{5publicstaticvoidmain(String[]args){6//1.定义List集合,存入多个字符串7ArrayList 四:分析以下需求,并用代码实现 1.统计每个单词出现的次数 2.有如下字符串"IfyouwanttochangeyourfateIthinkyoumustcometothedarkhorsetolearnjava"(用空格间隔) 3.打印格式: to=3 think=1 you=2 1importjava.util.HashMap;2importjava.util.Map;3importjava.util.Set;45publicclassTopic4{6publicstaticvoidmain(String[]args){7Stringstr="IfyouwanttochangeyourfateIthinkyoumustcometothedarkhorsetolearnjava";8StringstrArr[]=str.split("");9/*for(inti=0;i 五:分析以下需求,并用代码实现 2.定义一个noRepeat()方法,要求对传递过来集合中进行元素去重 publicstaticvoidnoRepeat(List contains } 1importjava.util.ArrayList;2importjava.util.List;34publicclassTopic5{5publicstaticvoidmain(String[]args){6ArrayList 一:简答题:1.&和&&的区别前者是不短路与,后者是短路与.在编写代码的时候,使用a&b,即是a为假,也会对b进行判断.如果使用的是a&&b,如果a为假,直接短路得出结果,不会对b进行判断 2.数据类型有哪些数据类型分为:基本数据类型、引用数据类型。基本数据类型:整数型byteshortintlong、浮点型floatdouble、字符型char、布尔型boolean(四个类别)。引用数据类型:字符串、数组、类、接口、枚举、Lambda 3.成员变量和局部变量的区别(从作用域,存储位置,初始值,三个方面进行概述)(1)定义的位置局部变量:在方法的小括号或者大括号成员变量:在类中方法外 (2)作用域(范围)局部变量:只能在所在的方法中成员变量:在整个类中 (3)默认值局部变量:没有默认值,使用之前必须先赋值,否则就报错成员变量:有默认值 (4)内存中的位置局部变量:跟着方法进入栈内存成员变量:跟着对象进入堆内存 (5)生命周期局部变量:随着方法的进栈而存在,随着方法的出栈而消失,立刻回收成员变量:随着对象的创建而存储,随着对象被垃圾回收机制回收而消失,在合适的时候回收 4.线程和进程有什么区别和联系 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序即是一个进程从创建、运行到消亡的过程。线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。 5.实现多线程的方式以及区别:方式一:继承Thread类方式二:实现Runnable接口如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。总结:实现Runnable接口比继承Thread类所具有的优势:1.适合多个相同的程序代码的线程去共享同一个资源。2.可以避免java中的单继承的局限性。3.增加程序的健壮性,实现解耦操作,代码可以被多个线程共享,代码和线程独立。4.线程池只能放入实现Runable或Callable类线程,不能直接放入继承Thread的类。 6.start()和run方法有什么区别?start():该方法是在当前线程中启动一个新的线程,而新启动的线程会调用run()方法,同时该方法不能重复调用;run():该方法和普通的方法一样,可以重复执行,不会创建新的线程。7.Map集合的两种遍历方式:(1)第一种方式通过键找值,因为map中键是唯一的.使用keySet()方法返回Map中的所有键.食用方式:Set<数据类型>keys=map.keySet();(2)通过Entry键值对对象进行遍历食用方式:Set 1.:根据需求完成代码: 1.定义动物类 属性: 年龄,颜色 行为: eat(Stringsomething)方法(无具体行为,不同动物吃的方式和东西不一样,something表示吃的东西) 生成空参有参构造,set和get方法 2.定义狗类继承动物类 eat(Stringsomething)方法,看家lookHome方法(无参数) 3.定义猫类继承动物类 行为:eat(Stringsomething)方法,逮老鼠catchMouse方法(无参数) 4.定义Person类 姓名,年龄 行为: keepPet(Dogdog,Stringsomething)方法 功能:喂养宠物狗,something表示喂养的东西 keepPet(Catcat,Stringsomething)方法 功能:喂养宠物猫,something表示喂养的东西 5.定义测试类(完成以下打印效果): keepPet(Dogdog,Stringsomethind)方法打印内容如下: 年龄为30岁的老王养了一只黑颜色的2岁的宠物 2岁的黑颜色的狗两只前腿死死的抱住骨头猛吃 keepPet(Catcat,Stringsomethind)方法打印内容如下: 年龄为25岁的老李养了一只灰颜色的3岁的宠物 3岁的灰颜色的猫眯着眼睛侧着头吃鱼 6.思考: 1.Dog和Cat都是Animal的子类,以上案例中针对不同的动物,定义了不同的keepPet方法,过于繁琐,能否简化,并体会简化后的好处? 2.Dog和Cat虽然都是Animal的子类,但是都有其特有方法,能否想办法在keepPet中调用特有方法? 定义Animal类: 1packagetopic1;23publicabstractclassAnimal{4/*年龄,颜色*/5privateintage;6privateStringcolor;7/*eat(Stringsomething)方法(无具体行为,不同动物吃的方式和东西不一样,something表示吃的东西)*/8publicabstractvoideat(Stringsomething);9/*生成空参有参构造,set和get方法*/1011publicAnimal(){12}1314publicAnimal(intage,Stringcolor){15this.age=age;16this.color=color;17}1819publicintgetAge(){20returnage;21}2223publicvoidsetAge(intage){24this.age=age;25}2627publicStringgetColor(){28returncolor;29}3031publicvoidsetColor(Stringcolor){32this.color=color;33}34}Cat类 1packagetopic1;23publicclassCatextendsAnimal{4@Override5publicvoideat(Stringsomething){6System.out.println("眯着眼睛侧着头"+something);7}8publicvoidCatchMouse(){9System.out.println("猫正在抓老鼠");10}1112publicCat(){13}1415publicCat(intage,Stringcolor){16super(age,color);17}18}Dog类 1packagetopic1;23publicclassDogextendsAnimal{4@Override5publicvoideat(Stringsomething){6System.out.println("两只前腿死死的抱住"+something+"猛吃");7}8publicvoidlookHome(){9System.out.println("狗正在看家");10}1112publicDog(){13}1415publicDog(intage,Stringcolor){16super(age,color);17}18}Person类 1packagetopic1;23publicclassTestClass{4publicstaticvoidmain(String[]args){5Personp=newPerson("老王",30);6Personp2=newPerson("老李",25);7Dogdog=newDog(2,"黑");8Catcat=newCat(3,"灰");9p.keepPet(dog,"骨头");10p2.keepPet(cat,"吃鱼");11}12}2.产生10个长度为10的不能重复的字符串(里面只能出现大写字母、小写字母、0-9的数字),并遍历打印输出 *a(10)b(2000)c(30)d(400)... *score,生成空参、有参构造、set和get方法、toString方法 1.创建10个学生对象(其中有两个学员信息完全相同)存入集合中 2.去除重复的学员并遍历打印剩余学员信息 3.打印最高分的学员信息 4.打印平均分 5.打印不及格的学员信息及数量 创建一个Student类 1packagetopic4;23publicclassStudent{4/*姓名:Stringname、年龄:intage、成绩:int*/5privateStringname;6privateintage;7privateintscore;8/*生成空参、有参构造、set和get方法、toString方法*/910@Override11publicStringtoString(){12return"Student{"+13"name='"+name+'\''+14",age="+age+15",score="+score+16'}';17}1819publicStringgetName(){20returnname;21}2223publicvoidsetName(Stringname){24this.name=name;25}2627publicintgetAge(){28returnage;29}3031publicvoidsetAge(intage){32this.age=age;33}3435publicintgetScore(){36returnscore;37}3839publicvoidsetScore(intscore){40this.score=score;41}4243publicStudent(Stringname,intage,intscore){4445this.name=name;46this.age=age;47this.score=score;48}4950publicStudent(){5152}53}