第一次来这里,所以我希望这是有意义的!
我有两个对象数组,比如l1和l2,我想在这两个列表之间进行比较,并在l3中得到一个不匹配的值。用户类包含2个字符串:
userEnteredValue
valueReturnedFromDatabase
比如,l1包含:Java、JSF、JAXR、foo l2包含:JSF、JAXR
我可以对匹配的值进行比较,但不能对不匹配的值进行比较。这种逻辑似乎有缺陷。有什么帮助吗?
对于匹配值:
for(User u1 : l1) {
for(User u2: l2) {
if(u1.getUserEnteredValue().equals(u2.getValueReturnedFromDatabase())) {
l3.add(u1);
}
}
但是,对于不匹配,当我说不等于时,我得到的不是唯一的值,而是所有的值。Stackoverflow上的两篇类似帖子建议在User类中实现equals和hashcode方法。这是必要的,因为我的arraylist大小不超过5到10。
https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#contains(java.lang.对象)
使用java中ArrayList提供的上述方法,遍历一个数组并检查它是否“包含()”来自其他数组的元素。
您可以使用java.util.ArrayList
中的包含()
方法来确定您的列表是否包含该对象。
示例:
for(User u1:l1) {
if(!l2.contains(u1)) {
l3.add(u1);
}
}
你可以这样做:
for(User u1 : l1) {
boolean unique = true;
for(User u2: l2) {
if(u1.getUserEnteredValue().equals(u2.getValueReturnedFromDatabase())) {
unique = false;
break;
}
}
if(unique){
l3.add(u1);
}
}
问题内容: 我有两个列表 , 都包含 MyData 类型的对象,而 MyData* 包含这些变量。 利斯塔和数组listB都包含MyData的对象,现在我要两个列表的对象值比较这里 的名字 ,以及 检查 变量一样,如果 利斯塔 包含这些对象值 和ListB也包含 然后我必须比较列表并返回false,因为两个列表相同但是如果ListA包含 和 ListB 包含 然后我必须比较列表并返回true,因为
我有两个列表*
在爪哇中。如果我们必须将一个对象与另一个对象进行比较。我们比较该对象中的每个字段。 学生 1 对象具有标记 1、标记 2、标记 3、名称、年龄作为字段。学生 2 对象具有标记 1、标记 2、标记 3、名称、年龄作为字段。因此,要检查2名学生是否相等...我们比较每个字段。 但是,如果 Student 对象有许多字段,该怎么办?学生1对象有标记1,标记2,标记3,名称,年龄,地址,颜色,类,国家,部
因此,我有两个大小相等的2D numpy数组,都是在两个不同的曲面上使用方法获得的。 数组中的每个值也是形式的数组(所以我基本上有一个带有1D元素的2D数组)。 基本上,我想根据条件对两者进行比较: 有没有更有效的方法可以做到这一点,而无需简单地迭代任何一个数组,如下所示?
这与Java比较两个列表的不同之处在于,我需要能够在jUnit中断言相等性,而不仅仅是比较列表。
假设我有两个列表,现在listOld包含旧员工信息,listNew包含新员工信息 我如何比较这两个列表并返回新列表,其中包含,添加的新员工列表,包含,删除的员工列表,包含上次更新已更改的员工的新列表? 我只能想到迭代列表和比较,可能最终几乎是O(n2)时间,这可以由任何util类更有效地完成吗?