当我阅读 IoTDB 的源代码时,我发现也许我们可以在很多枚举类中添加一个 HashMap来改善从toTSEncoding查找的时间复杂度,例如:O(n)O(1)
private static final Map<Byte, TSEncoding> map = new HashMap<>();
static {
TSEncoding[] array = TSEncoding.values();
for (TSEncoding e : array) {
map.put(e.type, e);
}
}
private static TSEncoding getTsEncoding(byte encoding) {
TSEncoding ret = map.get(encoding);
if (ret == null) {
throw new IllegalArgumentException("Invalid input: " + encoding);
}
return ret;
}