ARules、BRules、CRules extends AbstractRules
List<ARules> rules = xxx;
Map<String, List<ARules>> rulesGroupByStrategy = classifyByStrategyId(rules);
private <T extends AbstractRules> Map<String, List<T>> classifyByStrategyId(List<T> rules) {
Map<String, List<T>> mappings = new HashMap<>(16);
for (T rule : rules) {
String strategyId = rule.getStrategyId();
mappings.computeIfAbsent(strategyId, k -> new LinkedList<>());
mappings.get(strategyId).add(rule);
}
return mappings;
}