我正在寻找一种从以下两个列表中创建列表/地图等的有效方法,我可以使用它来获取规则的当前和过去状态。
List<Boolean> rulesCurrentStatus = new ArrayList<Boolean>(); // 3 Rules: false/true meaning if the rule passed of failed
rulesCurrentStatus.add(false);
rulesCurrentStatus.add(true);
rulesCurrentStatus.add(false);
List<Boolean> rulesPreviousStatus = new ArrayList<Boolean>(); // Previous state of the above 3 rules.
rulesPreviousStatus.add(true);
rulesPreviousStatus.add(true);
rulesPreviousStatus.add(false);
答案 0 :(得分:1)
您可以使用Map类型的键和布尔类型的值。您可以使用键区分当前值和上一个值。例如使用类似C#1,C#2的关键字存储所有当前值,并使用类似P#1,P#2等关键字存储先前的值。
答案 1 :(得分:1)
如果我理解正确,您希望获得规则的状态历史记录。 那么这可能会有所帮助:
Map<Rule( or ruleName as String), List<Boolean>>
该地图中的关键字是规则对象,例如字符串表示哪个规则。值是一个列表(例如ArrayList),存储状态历史记录。例如:
{"rule1":[True, False,True] //1st,2nd,3rd(current) status
"rule2":[True,False]
...
}
因此,如果您想通过
获取规则的整个状态历史记录List<Boolean> history = map.get("someRule")
然后您可以添加新状态,或通过播放列表获得特定状态。
如果您只需要pre和current,则可以使用初始容量声明List。