lic*_*gwu 5 java performance b-tree map tire
我想要像轮胎一样的轮胎地图:
Map<String,Object> map = new TireMap();
map.put("com","1");
map.put("com.aa","2");
map.put("com.aa.bb","3");
map.get("com");// return ["1","2","3"]
map.get("com.a"); //return ["2","3"]
map.get("com.aa"); //return ["2","3"]
// the key maybe full key or just key prefix
Run Code Online (Sandbox Code Playgroud)
如何实现这样的地图?或者是否已经在Java API或开源中退出了地图?
它非常像innodb在mysql中.
PS: Performance非常重要.存储物品将超过1000W.
小智 5
我会尝试TreeMap从java.util.这是一张可以满足你需要的地图.它根据自然顺序(由comparator密钥类中的a定义)管理密钥.方法tailMap并headMap为您提供所需键的地图.
例
public static void main(String[] args) {
TreeMap<String, Object> map = new TreeMap<String, Object>();
map.put("com","1");
map.put("com.aa","2");
map.put("com.aa.bb","3");
System.out.println(map.get("com"));
System.out.println(map.tailMap("com").values()); // ["1","2","3"]
System.out.println(map.get("com.aa")); //return ["2","3"]
System.out.println(map.tailMap("com.aa").values());
}
Run Code Online (Sandbox Code Playgroud)