首页 > 解决方案 > 转换列表估计在地图中

问题描述

我有一个具有以下值的地图:

map.of.list={\
  {'2','4'} : '1', \
  {'4','6'} : '2', \
  {'6','8'} : '3' \
 }

@Value("#{${map.of.list}}")
private Map<List<Integer>, Integer> integerMap;

如何将其转换为Map<Range<Integer>, Integer> rangesMap

类型Rangeorg.springframework.data.domain.Range

标签: javacollectionsrange

解决方案


我可以建议通过以下方式解决此问题:

public final class ConversionUtils {

    private ConversionUtils() {
    }

    public static Map<Range<Integer>, Integer> convertTo(Map<List<Integer>, Integer> fromProperties) {
        Map<Range<Integer>, Integer> result= new HashMap<>();
        fromProperties.forEach((keys, values) -> {
            Range<Integer> integerRange = Range.rightOpen(keys.get(0), keys.get(1));
            ranges.put(integerRange, values);
        });
        return result;
    }
}

推荐阅读