gpt4 book ai didi

java - 如何使用 for-each 循环比较 ArrayList 中的几个项目?

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:46 25 4
gpt4 key购买 nike

我有一个对象 vector ,我需要对它们进行一对一比较。即:

for (Object o1 : list) {
for (Object o2 : list) {
//Do something with o1 and o2
}
}

无论如何,使用这种方法,我会比较任何一对夫妇两次!使用“C”风格的方法,我会这样做:

for (i=0; i<n-1; i++) {
for (j=i+1; j<n; j++) {
//Do something with list[i] and list[j]
}
}

其中 n 是列表的长度。

有没有办法使用 for-each 循环来做到这一点?

添加

for-each 循环的使用不是强制性的。无论如何,我关心性能问题。 for-each 循环是否比直接访问索引的简单循环更快?

最佳答案

很明显你的意图是用类似 C 的 for 循环 - 对每一对循环恰好一次,这样同一对具有相反的成员,例如(a, b) 和 (b, a) 不会再次处理。这就是我的建议;它也适用于 Java。

但是,如果您绝对需要增强的for 循环,您可以使用List's subList method 使内部for 循环对子列表进行操作。 , 从下一个元素开始。

for (Object o1 : list) {
List<Object> subList = list.subList(list.indexOf(o1) + 1, list.size());
for (Object o2 : subList) {
//Do something with o1 and o2
}
}

关于java - 如何使用 for-each 循环比较 ArrayList 中的几个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33265460/

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