ARules、BRules、CRules extends AbstractRules

    1. List<ARules> rules = xxx;
    2. Map<String, List<ARules>> rulesGroupByStrategy = classifyByStrategyId(rules);
    3. private <T extends AbstractRules> Map<String, List<T>> classifyByStrategyId(List<T> rules) {
    4. Map<String, List<T>> mappings = new HashMap<>(16);
    5. for (T rule : rules) {
    6. String strategyId = rule.getStrategyId();
    7. mappings.computeIfAbsent(strategyId, k -> new LinkedList<>());
    8. mappings.get(strategyId).add(rule);
    9. }
    10. return mappings;
    11. }