java中ArrayList小案例(快敲20遍++)

课代表快来监督,每个小案例敲个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("接下来也会分享一些学习笔记和一些小案例");

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java+每天进步亿点点

一起学习一起进步一起高薪

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值