检查 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
}
这是我的数据处理程序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
}