java- ArrayList集合案例:元素搜索

public class Student {
    private String studyNumber;     //学号
    private String name;            //姓名
    private int age;                //年龄
    private String className;       //教室

    public Student() { }
    public Student(String studyNumber, String name, int age, String className) {
        this.studyNumber = studyNumber;
        this.name = name;
        this.age = age;
        this.className = className;
    }

    public String getStudyNumber() { return studyNumber; }
    public void setStudyNumber(String studyNumber) { this.studyNumber = studyNumber; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    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;
/* 案例:学生信息系统,显示数据,并按照学号完成搜索学生类信息
*  测试数据:
*  "BI035gEYy","一叶孤城",22,"推理一班"
*  "wqA90HQpU","东方延绪",26,"中医学四班"
*  "0uzRxJv6o","西门吹雪",24,"法医系三班"
*  "bUQqiml3Z","东梅超风",21,"精神科五班"
*  "Uo7Hbykpb","西方不败",27,"修理学二班" */
public class ArrayListStudent {
    public static void main(String[] args) {
        //1.创建学生类
        //2.创建学生对象封装学生对象
        //把学生对象添加到集合中去
        ArrayList<Student> liststudent = new ArrayList<>();
        liststudent.add(new Student("BI035gEYy","一叶孤城",22,"推理一班" ));
        liststudent.add(new Student("wqA90HQpU","东方延绪",26,"中医学四班"));
        liststudent.add(new Student("0uzRxJv6o","西门吹雪",24,"法医系三班"));
        liststudent.add(new Student("bUQqiml3Z","东梅超风",21,"精神科五班"));
        liststudent.add(new Student("Uo7Hbykpb","西方不败",27,"修理学二班"));
        //3.遍历变量集合中的每个信息并打印
        System.out.println("学号"+"\t\t\t"+"姓名: "+"\t\t"+"年龄: "+"\t"+"班级: ");
        for (int i = 0; i < liststudent.size(); i++) {
            Student s = liststudent.get(i);
            System.out.println(s.getStudyNumber()+"\t"+s.getName()+"\t\t"+s.getAge()+"\t\t"+s.getClassName());
        }
        //4.定义方法按照学号查询学员信息
        Scanner input=new Scanner(System.in);
        while (true){
            System.out.print("请输入学号查询对象: ");
            String studyNumber = input.next();
            //5.调用方法查询
            Student s = getStudyId(liststudent,studyNumber);
            //6.判断s中是否存在学生地址
            if(s == null){
                System.out.println("对不起,查无此人( ̄▽ ̄)~*");
            }else {
                System.out.println("你查询的学生信息如下:");
                System.out.println("学号"+"\t\t\t"+"姓名: "+"\t\t"+"年龄: "+"\t"+"班级: ");
                System.out.println(s.getStudyNumber()+"\t"+s.getName()+"\t\t"+s.getAge()+"\t\t"+s.getClassName()+"\n");
            }
        }
    }
    /* 根据学生的学号查询学生对象返回
    * @param students 存储全部学生对象的集合
    * @param studyNumber 搜索的学生对象的集合
    * @return 学生对象 | null
    * */
    public static Student getStudyId(ArrayList<Student> liststudent,String studyNumber){
        //1.遍历全部学生对象
        for (int i = 0; i < liststudent.size(); i++) {
            Student s = liststudent.get(i);
            //2.询问当前遍历的这个学生的学号:是否我们要找的学号
            if(s.getStudyNumber().equals(studyNumber)){
                //这个s代表的学生对象,就是我们要找的,返回它
                return s;
            }
        }
        //查无此人
        return null;
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值