我有一个对象数组,例如Animal[4]
元素。在我的最终结果中,我需要准备另一个Animal
数组,比如说Animal[2]
。任何人都可以建议如何基于单个属性type
将对象的属性合并到唯一对象。
例如:
public class Animal {
private String type;
private boolean isWild,
private Boolean isCarnivarous;
}
对象数组值:
我的第一个对象数据动物:{type: XXX, isWild: true, isCarni: false}
我的第二个对象数据动物:{type: YYY, isWild: true, isCarni: false}
我的第三个对象数据动物:{type: XXX, isWild: false, isCarni: true}
我的第四个对象数据动物:{type: zzz, isWild: false, isCarni: true}
最终结果应为:
我的第一个对象数据动物:{type: XXX, isWild: true, isCarni: true}
我的第二个对象数据动物:{type: YYY, isWild: true, isCarni: false}
我的第三个对象数据动物:{type: zzz, isWild: false, isCarni: true}
答案 0 :(得分:0)
我假设你需要使用OR语义来合并各种布尔属性。是吗?
如果是这样,请遍历数组并将对象放入Map<String, Animal>
,其中键为type
。这将以相同的类型对动物条目进行重复数据删除。
但是在放入每个值之前,检查一个值是否已经存在并相应地改变布尔属性。