我有一组int(例如0,2,4,7)。数组中的每个值我想与数组的另一个值组合,以便应该有可能的每一个组合(例如[0,2],[0,4],[0,7],但也是[2,0] ],[4,0]和[7,0],其余值相同)。什么是实现这一目标的最佳和最有效的资源(处理)方法?
谢谢
答案 0 :(得分:2)
从j
i+1
for (int i = 0; i < arr.length; i++) {
for (int j = i+1; j < arr.length; j++) {
System.out.println("["+arr[i] +","+arr[j]+"]");
System.out.println("["+arr[j] +","+arr[i]+"]");
}
}
实施例:
答案 1 :(得分:1)
int[] arr = [...];
for(int i : arr){
for(int j : arr){
// Do something with both "i and j".
}
}
在处理点(“做某事”注释)中,您可以执行一些简单的操作,例如打印结果,或将组合结果添加到新数组或集合中。 (后者因性能原因而不太理想,因为它需要一次性将所有可能的组合存储在内存中 - 而不是在生成它们时处理结果。)