我遇到了一个我本以为很简单的问题。
我需要将ArrayList中的每个项目与列表中的其他项目进行比较,而不将项目与自身进行比较。这不像调用equals()比较那么简单,它涉及到一些自定义逻辑,我已从下面的代码中省略了它。此外,ArrayList不应以任何方式更改。
我似乎遇到的问题是,一旦进入第二个循环,我不知道是否有另一个对象可以进行比较(因为它是一个变量大小的列表)。
我需要将ArrayList中的每个项目与列表中的其他项目进行比较,而不将项目与自身进行比较。这不像调用equals()比较那么简单,它涉及到一些自定义逻辑,我已从下面的代码中省略了它。此外,ArrayList不应以任何方式更改。
我似乎遇到的问题是,一旦进入第二个循环,我不知道是否有另一个对象可以进行比较(因为它是一个变量大小的列表)。
for(int i =0; i< list.size(); i++){
//get first object to compare to
String a = list.get(i).getA();
Iterator itr = list.listIterator(i + 1 ); // I don't know if i + 1 is valid
while(itr.hasNext()){
// compare A to all remaining items on list
}
}
我觉得我可能用了错误的方法,欢迎提供建议或者如何更好地完成这个任务的技巧。
compare
和通用的java.util.List<>
)。从“比较列表L中的每个项目与[L]中的其他每个项目”的开始。 - greybeard