gpt4 book ai didi

Java 通过迭代 (N) 个对象来比较字段

转载 作者:行者123 更新时间:2023-11-30 07:45:37 27 4
gpt4 key购买 nike

你能帮我解决这个问题吗?

我正在尝试比较 (n) 个数字对象列表中的字段。

为了更清楚起见,这里有一个示例。

   ArrayList<TestObjectType> listOfObjects = new ArrayList<TestObjectType>();
TestObjectType itemA = new TestObjectType();
itemA.setID(1);
TestObjectType itemB = new TestObjectType();
itemA.setID(2);
TestObjectType itemC = new TestObjectType();
itemA.setID(3);

//do compare here
if (2 == listOfObjects.size())
{ TestObjectType itemA = listOfObjects.get(0);
TestObjectType itemB = listOfObjects.get(1);
if (itemA.getID != itemB.getID)
{ //do something here
;
}
}
else if (3 == listOfObjects.size())
{ TestObjectType itemA = listOfObjects.get(0);
TestObjectType itemB = listOfObjects.get(1);
TestObjectType itemC = listOfObjects.get(2);
if ((itemA.getID != itemB.getID) ||
(itemA.getID != itemC.getID) ||
(itemB.getID != itemC.getID))
{ //do something here
;
}
}
// so on and so forth until all (n) number of objects has been compared

问题是,我如何满足迭代列表中任意 (n) 个对象的需求?

最佳答案

看起来您想要的是比较列表中的所有元素对,并在至少一对元素具有不同的 ID 时执行某些操作:

boolean found = false;
for (int i = 0; i < listOfObjects.size() && !found; i++) {
for (int j = i+1; j < listOfObjects.size() && !found; j++) {
if (listOfObjects.get(i).getID != listOfObjects.get(j).getID)
found = true;
}
}
if (found) {
// do something
}

关于Java 通过迭代 (N) 个对象来比较字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33987857/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com