课代表快来监督,每个小案例敲个20++遍,敲到肌肉记忆,敲到你的手指认识它,不敲是学不会的,实践很重要!!!
第一题:把成绩低于80的成绩从集合中删除:
首先定义一个ArrayList集合,在生成随机数,把成绩随机生成出来存到集合中,最后在遍历集合,把成绩小于80的从集合中删除,删除用到remove()方法。
import java.util.ArrayList;
import java.util.Random;
//成绩低于80的从集合中删除
public class ArrayList01 {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int i1 = r.nextInt(100);
list.add(i1);
}
for (int i = 0; i < list.size(); i++) {
int score = list.get(i);
if (score < 80){
list.remove(i);
i--;
}
}
System.out.println(list);
}
}
第二题:用集合遍历出电影信息
首先封装一个电影的类
public class Arraylist02_moive {
private String name;
private double score;
private String actor;
public Arraylist02_moive(String name, double score, String actor) {
this.name = name;
this.score = score;
this.actor = actor;
}
public Arraylist02_moive() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
然后编写测试类把电影类new出来(实例化):
import java.lang.reflect.Array;
import java.util.ArrayList;
//集合存储自定义元素并遍历
/*定义电影类(名称,分值,演员),创建3个电脑对象代表3部影片
* 《肖申克救赎》 9.7 ,罗宾斯
* 《霸王别姬》 9.6 ,张国荣,张丰毅
* 《阿甘正传》 9.5,汤姆.汉克斯
* */
public class ArrayList02 {
public static void main(String[] args) {
ArrayList<Arraylist02_moive> movies = new ArrayList<>();
Arraylist02_moive m1 = new Arraylist02_moive("《肖申克救赎》",9.7,"罗宾斯");
Arraylist02_moive m2 = new Arraylist02_moive("《霸王别姬》",9.6,"张国荣,张丰毅");
Arraylist02_moive m3 = new Arraylist02_moive("《阿甘正传》",9.5,"汤姆.汉克斯");
movies.add(m1);
movies.add(m2);
movies.add(m3);
for (int i = 0; i < movies.size(); i++) {
Arraylist02_moive listMoive = movies.get(i);
System.out.println("["+listMoive.getName()+"--"+listMoive.getScore()+"--"+listMoive.getActor()+"]");
}
}
}
第三题:在控制台输入学号,然后打印出学号对应的学生班级和年龄。
这是运行展示的效果
先把学生类封装起来
//封装学生信息
public class ArrayList03_Stu {
private String sid;
private String sname;
private int age;
private String className;
public ArrayList03_Stu() {
}
public ArrayList03_Stu(String sid, String sname, int age, String className) {
this.sid = sid;
this.sname = sname;
this.age = age;
this.className = className;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
编写测试类:
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayList03 {
public static void main(String[] args) {
ArrayList<ArrayList03_Stu> list = new ArrayList<>();
ArrayList03_Stu stu1 = new ArrayList03_Stu("2021517201", "喜羊羊", 13, "草原一班");
ArrayList03_Stu stu2 = new ArrayList03_Stu("2021517202", "美羊羊", 12, "草原二班");
ArrayList03_Stu stu3 = new ArrayList03_Stu("2021517203", "懒羊羊", 15, "草原三班");
ArrayList03_Stu stu4 = new ArrayList03_Stu("2021517204", "暖羊羊", 16, "草原五班");
list.add(stu1);
list.add(stu2);
list.add(stu3);
list.add(stu4);
for (int i = 0; i < list.size(); i++) {
ArrayList03_Stu stu = list.get(i);
System.out.println(stu.getSid() + "-" + stu.getSname() + "-" + stu.getAge() + "-" + stu.getClassName());
}
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入学号:");
String index = sc.next();
ArrayList03_Stu stuId = getStuId(list, index);
if (stuId == null){
System.out.println("没有此人");
}else {
System.out.println(stuId.getSid() + "-" +
stuId.getSname() + "-" + stuId.getAge() + "-" + stuId.getClassName());
break;
} } }
//根据学号查学生对象并返回
public static ArrayList03_Stu getStuId(ArrayList<ArrayList03_Stu> list,String sid){
for (int i = 0; i < list.size(); i++) {
ArrayList03_Stu s = list.get(i);
if (s.getSid().equals(sid)){
return s;
}
}
return null;
}
}
先给同学们整理了三个练习题,每个都敲20遍肯定有收获,刚开始可以先看这敲,整理思路,看一下代码是怎么运行的,然后不看源代码在敲,敲20遍差不多就可以领略其中的奥妙啦~
System.out.println("接下来也会分享一些学习笔记和一些小案例");