【发布时间】:2011-06-27 00:18:35
【问题描述】:
我遇到了一个我认为应该很简单的问题。
我需要将 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
}
}
我认为我可能以错误的方式处理此问题,我愿意接受有关如何更好地执行此操作的建议或提示。
【问题讨论】:
-
您说 ArrayList 不应以任何方式更改,因此列表的大小不是可变的:它是恒定的。因此,i+1 将是 listIterator() 的有效索引,因为 i 保证为
-
太棒了,这个问题对我帮助很大!
-
在CR,这可能适合不像看起来那么容易类别(尤其是非对称
compare和一般java.util.List<>。从compare every item in [a List L] with every other item in [L]
标签: java algorithm sorting arraylist compare