我需要将OR(逻辑)运算符应用于arraylist中的所有元素。问题是:List<boolean[]> arrayAllergeni = new ArrayList<>();
示例:
arrayAllergeni[0] = {false, true, false, true, false, true, ... }
arrayAllergeni[1] = {false, false, false, false, false, false, ... }
结果是:
result_allergeni[] = {false, true, false, true, false, true, ... }
以此填充ArrayList
:
List<boolean[]> arrayAllergeni = new ArrayList<>();
for (int i = 0; i < rct.getComposizione().size(); i++) {
boolean[] allergeni = rct.getComposizione().get(i).getAllergeni();
arrayAllergeni.add(allergeni);
}
,我想获取数组的总OR逻辑,结果将为boolean[] result_allergeni
。那怎么办是否有一些特殊功能,或者我需要评估所有单个数组?
我的解决方案:
Boolean[] newallergeni = new Boolean[arrayAllergeni.size()];
Arrays.fill(newallergeni, Boolean.FALSE);
for (int k = 0; k < newallergeni.length; k++) {
for (int i = 0; i < arrayAllergeni.size(); i++) {
newallergeni[k] |= arrayAllergeni.get(i)[k];
}
}