将具有内容列表的对象与另一个对象进行比较
Compare the object with a list of contents to another object
我有一个包含内容列表的对象和另一个包含内容但没有列表的对象,如下面的代码
List<LoginInformation> allUsersLoginInfo
LoginInformation loginInformation
现在我想比较这两个,看allUsersLoginInfo中是否存在loginInformation的元素
LoginInformation 是一个模型 class。
它有名字和卷号。
因此,allUserLoginInfo 是一个列表,其中包含 Name 和 Rollnumber 的多个值。
现在,我想比较并查看 allUserLoginInfo 中是否存在 loginInformation 的任何值(即 Name 或 RollNumber 的值)然后给我 true 否则为 false 并指出没有值相等。
提前致谢
你可以这样做:
allUsersLoginInfo.contains(loginInformation);
但您需要正确覆盖 class LoginInformation 中的 equals 方法,否则,列表将永远找不到该元素并将 return假...
lUsersLoginInfo.contains(loginInformation)
可能是您要找的
如果列表中有很多信息,我建议改用集合。但是你最好不要将密码保存在用户信息中...
您可以使用 Stream#anyMatch
来完成手头的任务。
if(allUsersLoginInfo.stream().anyMatch(m -> m.getName().equals(loginInformation.getName())
|| m.getRollNumber() == loginInformation.getRollNumber())){
//exists
}else{
// does not exist
}
在 1.8
之前,您可以将 Apache Commons 用于 java
此示例查找 allUserLoginInfo 中是否存在 loginInformation 的任何值(即 Name 或 RollNumber 的值):
LoginInformation res = CollectionUtils.find(allUsersLoginInfo, new Predicate<LoginInformation >() {
@Override
public boolean evaluate(LoginInformation o) {
return o.getName ().equals(yourloginInformation.getName()) || o.getRollnumber () == yourloginInformation.getRollnumber();
}
});
对于java1.8使用奥敏答案
我有一个包含内容列表的对象和另一个包含内容但没有列表的对象,如下面的代码
List<LoginInformation> allUsersLoginInfo
LoginInformation loginInformation
现在我想比较这两个,看allUsersLoginInfo中是否存在loginInformation的元素
LoginInformation 是一个模型 class。
它有名字和卷号。
因此,allUserLoginInfo 是一个列表,其中包含 Name 和 Rollnumber 的多个值。
现在,我想比较并查看 allUserLoginInfo 中是否存在 loginInformation 的任何值(即 Name 或 RollNumber 的值)然后给我 true 否则为 false 并指出没有值相等。
提前致谢
你可以这样做:
allUsersLoginInfo.contains(loginInformation);
但您需要正确覆盖 class LoginInformation 中的 equals 方法,否则,列表将永远找不到该元素并将 return假...
lUsersLoginInfo.contains(loginInformation)
可能是您要找的 如果列表中有很多信息,我建议改用集合。但是你最好不要将密码保存在用户信息中...
您可以使用 Stream#anyMatch
来完成手头的任务。
if(allUsersLoginInfo.stream().anyMatch(m -> m.getName().equals(loginInformation.getName())
|| m.getRollNumber() == loginInformation.getRollNumber())){
//exists
}else{
// does not exist
}
在 1.8
之前,您可以将 Apache Commons 用于 java此示例查找 allUserLoginInfo 中是否存在 loginInformation 的任何值(即 Name 或 RollNumber 的值):
LoginInformation res = CollectionUtils.find(allUsersLoginInfo, new Predicate<LoginInformation >() {
@Override
public boolean evaluate(LoginInformation o) {
return o.getName ().equals(yourloginInformation.getName()) || o.getRollnumber () == yourloginInformation.getRollnumber();
}
});
对于java1.8使用奥敏答案