Java 与RangeMap数据结构相反

Java 与RangeMap数据结构相反,java,data-structures,Java,Data Structures,我正在寻找一个Java数据结构Su可以使用嵌套映射 map<Object,map<object,object>>. map。 这种结构适合你的情况如下 map<monthnameobject,map<itemcode(or sequence),itemvalue>> map 示例回答我所理解的,地图中的对象可以调整 1.)可扩展的并发实现。映射根据其键的自然顺序进行排序,或者由映射创建时提供的比较器进行排序,具体取决于使用的构造函数 2.s

我正在寻找一个Java数据结构
Su可以使用嵌套映射

map<Object,map<object,object>>. 
map。
这种结构适合你的情况如下

map<monthnameobject,map<itemcode(or sequence),itemvalue>>
map

示例回答我所理解的,地图中的对象可以调整

1.)可扩展的并发实现。映射根据其键的自然顺序进行排序,或者由映射创建时提供的
比较器进行排序,具体取决于使用的构造函数

2.
subMap
(K fromKey,boolean from inclusive,K toKey,boolean to inclusive)

SubMap将根据给定的日期创建一个映射,无论是否包含这些日期

public static void main(String[] args) throws ParseException {
        ConcurrentSkipListMap<Date, Integer> myMap = new ConcurrentSkipListMap<Date, Integer>();

        Calendar cal = Calendar.getInstance();
        cal.add(Calendar.DATE, -7);
        Date myDate1 = cal.getTime();
        System.out.println("Date1 = "+myDate1);
        myMap.put(myDate1, 10);

        Calendar cal1 = Calendar.getInstance();
        cal1.add(Calendar.DATE, -4);
        Date myDate2 = cal1.getTime();
        System.out.println("Date2 = "+myDate2);
        myMap.put(myDate2, 5);

        Date myDate3 = new Date();
        System.out.println("Date 3 "+ myDate3);
        myMap.put(myDate3, 2);

        SortedMap<Date, Integer> outputMap = myMap.subMap(myDate1, true,myDate3, false);
        System.out.println("Output Map from "+myDate1 +" to "+myDate2 + "is = "+outputMap);

    }

键值不清楚,请举例说明,是键值a
日期
和值a
售出的商品数量
TreeMap
可以帮助maybeI选择一个
TreeMap
。我认为在Java 8中使用闭包可以帮助您定义这样一个方法。我认为您最好使用
TreeMap
定制一个
。@ooxi发布了一个答案,这或多或少是您想要的,可能需要在末端对键/值等进行一些调整
Date1 = Thu Oct 01 16:48:48 IST 2015
Date2 = Sun Oct 04 16:48:48 IST 2015
Date 3 Thu Oct 08 16:48:48 IST 2015
Output Map from Thu Oct 01 16:48:48 IST 2015 to Sun Oct 04 16:48:48 IST 2015is = {Thu Oct 01 16:48:48 IST 2015=10, Sun Oct 04 16:48:48 IST 2015=5}