Java 保存到对象的多个组合索引位置的1个数组上的条件
如果这是我的int数组Java 保存到对象的多个组合索引位置的1个数组上的条件,java,arrays,Java,Arrays,如果这是我的int数组 anArray[0] = 10; anArray[1] = 10; anArray[2] = 1; anArray[3] = 0; anArray[4] = 0; anArray[5] = 1; 如何在数组中搜索满足条件的两个位置。 我想搜索以下索引组合,看看它们是否都包含>=1 0 and 1 0 and 2 0 and 3 0 and 4 0 and 5 1 and 2 1 and 3 1 and 4
anArray[0] = 10;
anArray[1] = 10;
anArray[2] = 1;
anArray[3] = 0;
anArray[4] = 0;
anArray[5] = 1;
如何在数组中搜索满足条件的两个位置。
我想搜索以下索引组合,看看它们是否都包含>=1
0 and 1
0 and 2
0 and 3
0 and 4
0 and 5
1 and 2
1 and 3
1 and 4
1 and 5
2 and 3
2 and 4
2 and 5
etc...
如果满足条件,那么我希望将满足条件的位置对的索引保存到对象
我能想到的唯一方法是输入索引位置作为方法的参数,但它们必须是更有效的方法 int max=anArray.length;
int max = anArray.length;
for (int i = 0; i < max; i++) {
for (int k = i + 1; k < max; k++) {
if (anArray[i] >= 1 && anArray[k] >= 1) {
/* Do something */
}
}
}
对于(int i=0;i=1&&anArray[k]>=1){
/*做点什么*/
}
}
}
int max=anArray.length;
对于(int i=0;i=1&&anArray[k]>=1){
/*做点什么*/
}
}
}
我不确定“将索引设置为对象”是什么意思。但这里有一个解决方案,可以找到满足条件的所有指数组合:
IntStream.range(0, array.length)
.filter(i -> array[i] >= 1)
.forEach(i -> IntStream.range(i + 1, array.length)
.filter(j -> array[j] >= 1)
.forEach(j -> ...);
我不确定“将索引设置为对象”是什么意思。但这里有一个解决方案,可以找到满足条件的所有指数组合:
IntStream.range(0, array.length)
.filter(i -> array[i] >= 1)
.forEach(i -> IntStream.range(i + 1, array.length)
.filter(j -> array[j] >= 1)
.forEach(j -> ...);
你在使用javascript吗?----使用java你在使用javascript吗?----使用java吗