• 【JAVA基础】ArrayList综合案例


    📃个人主页:个人主页

    🔥系列专栏:JAVASE基础

    目录

    案例1.遍历并删除元素值

    案例2.影片信息在程序中的表示

    案例3.学生信息系统的数据搜索


    案例1.遍历并删除元素值

    需求:
    • 某个班级的考试在系统上进行,成绩大致为:98, 77, 66, 89, 79, 50, 100
    • 现在需要先把成绩低于80分以下的数据去掉。
    分析:
    ① 定义 ArrayList 集合存储多名学员的成绩。
    ② 遍历集合每个元素,如果元素值低于 80 分,去掉它。
    1. public static void main(String[] args) {
    2. int[] arr = {98,77,66,89,79,50,100};
    3. ArrayList list = new ArrayList<>();
    4. for (int i = 0; i < arr.length; i++) {
    5. list.add(arr[i]);
    6. }
    7. for (int i = 0; i < list.size(); ) {
    8. if (list.get(i)<80){
    9. list.remove(i);
    10. }
    11. else {
    12. i++;
    13. }
    14. }
    15. System.out.println(list);
    16. }

    案例2.影片信息在程序中的表示

    需求
    某影院系统需要在后台存储上述三部电影,然后依次展示出来。
    分析
    ① :定义一个电影类,定义一个集合存储电影对象。
    ② :创建3个电影对象,封装相关数据,把3个对象存入到集合中去。
    ③ :遍历集合中的3个对象,输出相关信息。
    电影类:
    1. public class Movie {
    2. private String name;
    3. private Double score;
    4. private String actor;
    5. public Movie(String name, Double score, String actor) {
    6. this.name = name;
    7. this.score = score;
    8. this.actor = actor;
    9. }
    10. public Movie() {
    11. }
    12. public String getName() {
    13. return name;
    14. }
    15. public void setName(String name) {
    16. this.name = name;
    17. }
    18. public Double getScore() {
    19. return score;
    20. }
    21. public void setScore(Double score) {
    22. this.score = score;
    23. }
    24. public String getActor() {
    25. return actor;
    26. }
    27. public void setActor(String actor) {
    28. this.actor = actor;
    29. }
    30. }

    1. public static void main(String[] args) {
    2. Movie m1 = new Movie("电影1",9.1,"演员1");
    3. Movie m2 = new Movie("电影2",8.4,"演员2");
    4. Movie m3 = new Movie("电影3",8.1,"演员3");
    5. ArrayList movies = new ArrayList<>();
    6. movies.add(m1);
    7. movies.add(m2);
    8. movies.add(m3);
    9. for (int i = 0; i < movies.size(); i++) {
    10. Movie m = movies.get(i);
    11. System.out.println("电影名称:"+m.getName());
    12. System.out.println("电影评分:"+m.getScore());
    13. System.out.println("电影演员:"+m.getActor());
    14. System.out.println("------------------------------------");
    15. }
    16. }

    案例3.学生信息系统的数据搜索

    需求
    后台程序需要存储如上学生信息并展示,然后要提供按照学号搜索学生信息的功能。
    分析
    ① 定义Student类,定义ArrayList集合存储如上学生对象信息,并遍历展示出来。
    ② 提供一个方法,可以接收ArrayList集合,和要搜索的学号,返回搜索到的学生对象信息,并展示。
    ③ 使用死循环,让用户可以不停的搜索。
    学生类:
    1. public class Student {
    2. private String studentId;
    3. private String name;
    4. private int age;
    5. private String className;
    6. public Student(String studentId, String name, int age, String className) {
    7. this.studentId = studentId;
    8. this.name = name;
    9. this.age = age;
    10. this.className = className;
    11. }
    12. public Student() {
    13. }
    14. public String getStudentId() {
    15. return studentId;
    16. }
    17. public void setStudentId(String studentId) {
    18. this.studentId = studentId;
    19. }
    20. public String getName() {
    21. return name;
    22. }
    23. public void setName(String name) {
    24. this.name = name;
    25. }
    26. public int getAge() {
    27. return age;
    28. }
    29. public void setAge(int age) {
    30. this.age = age;
    31. }
    32. public String getClassName() {
    33. return className;
    34. }
    35. public void setClassName(String className) {
    36. this.className = className;
    37. }
    38. }

    测试类:

    1. public class base {
    2. public static void main(String[] args) {
    3. ArrayList students = new ArrayList<>();
    4. students.add(new Student("2020212201","小王",22,"计算机科学与技术1班"));
    5. students.add(new Student("2020213201","小刘",20,"软件工程1班"));
    6. students.add(new Student("2020212511","小李",21,"土木工程1班"));
    7. students.add(new Student("2020217251","小李",21,"电子商务1班"));
    8. System.out.println("学号"+"\t\t\t"+"姓名"+"\t"+"年龄"+"\t"+"班级");
    9. for (int i = 0; i < students.size(); i++) {
    10. Student s=students.get(i);
    11. System.out.println(s.getStudentId()+"\t"+s.getName()+"\t"+s.getAge()+"\t"+s.getClassName());
    12. }
    13. Scanner scanner = new Scanner(System.in);
    14. Student student;
    15. while (true){
    16. System.out.println("请输入要查询的学号");
    17. String id = scanner.next();
    18. student = getStudentById(students, id);
    19. if (student==null){
    20. System.out.println("查无此人");
    21. }
    22. else {
    23. System.out.println(student.getStudentId()+"\t"+student.getName()+"\t"+student.getAge()+"\t"+student.getClassName());
    24. }
    25. }
    26. }
    27. public static Student getStudentById(ArrayList students,String id) {
    28. for (int i = 0; i < students.size(); i++) {
    29. Student s = students.get(i);
    30. if (s.getStudentId().equals(id)){
    31. return s;
    32. }
    33. }
    34. return null;
    35. }
    36. }

  • 相关阅读:
    Spring Data JPA 原理与实战第五天 Jackon相关使用
    【无标题】超时超时超时超时超时
    SATA系列专题之四:4.0 Command Layer命令层概述
    SPFA算法(判断负权回路,求最短路径)(851,852)
    JS高级 之 事件循环
    【C++】内存管理——new与delete
    A40I工控主板(SBC-X40I)串口通信测试
    4.正则提取html中的img标签的src内容
    linux控制组: cpuset解析
    2023博鳌国际地理标志发展大会在海南举办
  • 原文地址:https://blog.csdn.net/Javascript_tsj/article/details/127134299