内层循环的起始位置设为外层循环的下一个位置,即 j = i + 1。这样,就避免了重复对比。
import java.util.ArrayList;
import java.util.List;
public class ListComparison {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
for (int i = 0; i < list.size() - 1; i++) {
for (int j = i + 1; j < list.size(); j++) {
String item1 = list.get(i);
String item2 = list.get(j);
// 执行对比操作
System.out.println(item1 + " vs " + item2);
}
}
}
}