Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何在LinkedList中获得first floorEntry(),不进行遍历。LinkedSortedMap_Java_Data Structures_Collections_Linked List_Sortedmap - Fatal编程技术网

Java:如何在LinkedList中获得first floorEntry(),不进行遍历。LinkedSortedMap

Java:如何在LinkedList中获得first floorEntry(),不进行遍历。LinkedSortedMap,java,data-structures,collections,linked-list,sortedmap,Java,Data Structures,Collections,Linked List,Sortedmap,我有一个需要按插入顺序遍历的列表。但是,我想通过使用floorEntry和ceilingEntry来找到这些值的“起点” 因此,我需要一个具有以下所需操作的集合: 频繁插入/追加到末尾 需要像这样遍历: 查找所有值>=或如果希望能够支持删除,则可以使用树形图,其中键为自动递增整数 TreeMap<Integer, Object> sortedMap; HashMap<Object, Integer> lookupMap; int key; public void ad

我有一个需要按插入顺序遍历的列表。但是,我想通过使用floorEntry和ceilingEntry来找到这些值的“起点”

因此,我需要一个具有以下所需操作的集合:

  • 频繁插入/追加到末尾
  • 需要像这样遍历:

    • 查找所有值>=或如果希望能够支持删除,则可以使用树形图,其中键为自动递增整数

      TreeMap<Integer, Object> sortedMap;
      HashMap<Object, Integer> lookupMap;
      int key;
      
      public void add(Object obj) {
          sortedMap.put(key, obj);
          lookupMap.put(obj, key);
          key++;
      }
      
      TreeMap-sortedMap;
      HashMap查找图;
      int键;
      公共无效添加(对象obj){
      分类地图放置(钥匙,obj);
      lookupMap.put(对象,键);
      key++;
      }
      
      使用“查找贴图”在已排序的贴图中查找对象的关键点,然后使用检索到的关键点对已排序的贴图执行楼层/天花板查询


      谷歌有一个解决方案,你可以通过在一个方向上使用散列图,在另一个方向上使用树图来适应你的需要,但这是行不通的。集合需要按时间排序。。。。但我需要根据值而不是时间进行查找。好的-看起来更好。但是必须在lookupMap上进行地板操作,所以lookupMap必须是一个分类地图。也许我需要编辑我的问题来澄清。HashBiMap没有楼层。需要一个分类的位图。。嗯,也许是BiMap。。
      TreeMap<Integer, Object> sortedMap;
      HashMap<Object, Integer> lookupMap;
      int key;
      
      public void add(Object obj) {
          sortedMap.put(key, obj);
          lookupMap.put(obj, key);
          key++;
      }