JAVA练习题29:添加用户对象并判断是否存在以及其索引位置

添加用户对象并判断是否存在以及其索引位置

  • 需求:
    1.main方法中定义一个集合,存入三个用户对象。用户属性为:id,username,password
    2.要求:定义一个方法,根据id查找对应的用户信息。如果存在,返回true。如果不存在,返回false
    3.要求变形:定义一个方法,根据id查找对应的用户信息。如果存在,返回索引。如果不存在,返回-1

测试类

import java.util.ArrayList;
import java.util.Scanner;

public class FTest {
    public static void main(String[] args) {
        /*
         * 添加用户对象并判断是否存在
         * 需求:
         *      1.main方法中定义一个集合,存入三个用户对象。用户属性为:id,username,password
         *      2.要求:定义一个方法,根据id查找对应的用户信息。如果存在,返回true。如果不存在,返回false
         *      3.要求变形:定义一个方法,根据id查找对应的用户信息。如果存在,返回索引。如果不存在,返回-1
         * */

        //1.创建对象集合
        ArrayList<User> list = new ArrayList<>();

        //2.创建并添加三个用户对象
        User user1 = new User("001","张三","zhangsan");
        User user2 = new User("002","李四","lisi");
        User user3 = new User("003","王五","wangwu");

        list.add(user1);
        list.add(user2);
        list.add(user3);

        //3.输入id,查找用户是否存在
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入您要查找的用户id:");
        String id = sc.next();
        boolean flag =contains(list,id);
        int index = getIndex(list,id);
        System.out.println(flag);
        System.out.println(index);
    }
    //2.要求:定义一个方法,根据id查找对应的用户信息。如果存在,返回true。如果不存在,返回false
    public static boolean contains(ArrayList<User> list,String id){
       /* for (int i = 0; i < list.size(); i++) {
            if (id.equals(list.get(i).getId())){
                return true;
            }
        }
        return false;*/
        //当要求2和要求3在同一题目中出现时,可以这样写
        return getIndex(list,id) >= 0;   //因为如果大于0,则为true,否则为false
    }
    //3.要求变形:定义一个方法,根据id查找对应的用户信息。如果存在,返回索引。如果不存在,返回-1
    public static int getIndex(ArrayList<User> list,String id){
        for (int i = 0; i < list.size(); i++) {
            if (id.equals(list.get(i).getId())){
                return i;
            }
        }
        return -1;
    }
}

JavaBean类

public class User{
    private String id;
    private String username;
    private String password;

    public User() {}

    public User(String id, String username, String password) {
        this.id = id;
        this.username = username;
        this.password = password;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值