【问题标题】:Check if a User Id exists in ArrayList?检查 ArrayList 中是否存在用户 ID?
【发布时间】:2020-11-28 10:44:24
【问题描述】:

这是我的数据处理程序类

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();
    }

任何人都可以帮忙

问候

AHSAN JAVED

【问题讨论】:

  • 使用HashMap&lt;Integer,Userlist&gt; 代替ArrayList&lt;..&gt; 并将userId 保存为第一个参数。请注意,对于 HashMap,uId 只能由 Userlist 实例的一个实例使用。
  • 请提供一些我是新手的示例或提供任何视频示例如何检查 Arraylist 中是否存在用户 ID 退出
  • 如果您不遵循视频教程,您会学得更好。因此,只需在您最喜欢的搜索引擎上使用 java hashmap by example 并查看结果即可。

标签: android arraylist contains


【解决方案1】:

更新:

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

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..
  }

它可能会解决你的问题。

旧:

试试下面的函数,它会在用户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;
}

【讨论】:

  • 这是工作,但现在我想要该用户的 mQuantity 在存在来自 Users.getId() 的 Id 之后
【解决方案2】:

你可以使用anyMatch的Stream API

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

}

获取用户

UserListArray.stream().filter(u -> u.getmId().equals(Users.getId())).findFirst().get()

【讨论】:

    【解决方案3】:
    public boolean checkUserExist(User user){
    
        for(i=0; i<UserListArray.size(); i++){
    
           if(UserListArray.get(i).getmId == user.getmId){
            return true;
           }
        }
    
        return false
    }
    

    【讨论】:

    • 这是工作,但现在我想要该用户的 mQuantity 在存在来自 Users.getId() 的 Id 之后
    猜你喜欢
    • 1970-01-01
    • 2011-05-23
    • 2018-11-16
    • 1970-01-01
    • 2016-09-04
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多