检查 ArrayList 中是否存在 User Id?

Check if a User Id exists in ArrayList?

这是我的数据处理程序Class

public class Userlist {
    private String mId;
    private String mQuantity;

    public String getmId() {
        return mId;
    }

    public void setmId(String mId) {
        this.mId = mId;
    }

    public String getmQuantity() {
        return mQuantity;
    }

    public void setmQuantity(String mQuantity) {
        this.mQuantity = mQuantity;
    }

    public Cartlist(String mId, String mQuantity) {
        this.mId = mId;
        this.mQuantity = mQuantity;
    }
}

这是我的 ArrayList 代码

    public static ArrayList<Userlist> UserListArray = new ArrayList<>();

这是我添加用户

    Home.UserListArray.add(new Userlist (  "1" , "595" ));
    Home.UserListArray.add(new Userlist (  "2" , "5558" ));
    Home.UserListArray.add(new Userlist (  "55" , "5154" ));
    Home.UserListArray.add(new Userlist (  "97" , "513" ));
    Home.UserListArray.add(new Userlist (  "16" , "565" ));
    Home.UserListArray.add(new Userlist (  "21" , "598" ));

现在我要查看Arraylist中是否存在Userid出口

if (UserListArray.contains( Users.getId() ) == true){

        Toast.makeText(context,"List Conatin User",Toast.LENGTH_SHORT).show();

    }else{

        Toast.makeText(context,"List Not Conatin User",Toast.LENGTH_SHORT).show();
    }

任何人都可以提供帮助

问候

亚山贾维德

已更新:

根据您的要求,修改了已经提供的功能。

private Userlist getExistingUser(){

    Userlist existingUser = null;

    //#1. Iterate through list
    for(Userlist userlist: UserListArray){

        //#2. Check if user id is matching
        if(userlist.mId == Users.getId()){

            //#3. Matches, user id exists, get the record and out from loop
            existingUser = userlist;
            break;
        }
    }

    return existingUser;
}

哪里有这个功能,请检查是否为null。

 Userlist user = getExistingUser();

  If (user!=null){ //means user is present in the list array
         //so, Get the quantity here..
  }

它可能会解决您的问题。

旧:

尝试使用以下函数,它将 return 布尔值作为用户 ID 存在与否

 private boolean checkUserIdExist(){

    boolean isUserIdExist = false;

    //#1. Iterate through list
    for(Userlist userlist: UserListArray){

        //#2. Check if user id is matching
        if(userlist.mId == Users.getId()){

            //#3. Matches, user id exists, out from loop
            isUserIdExist = true;
            break;
        }
    }

    return isUserIdExist;
}

您可以使用 Stream anyMatch API

if(UserListArray.stream().anyMatch(u -> u.getmId().equals(Users.getId()))){

}

并获取用户

UserListArray.stream().filter(u -> u.getmId().equals(Users.getId())).findFirst().get()
public boolean checkUserExist(User user){

    for(i=0; i<UserListArray.size(); i++){

       if(UserListArray.get(i).getmId == user.getmId){
        return true;
       }
    }

    return false
}