我有一个文件包含电话接线员的以下数据
operator 1
1 0.92
44 0.5
46 0.2
467 1.0
48 1.2
等等...
如果每个运营商和数千个运营商拥有数千个数据,您将使用哪种数据结构
运算符对象的数组列表,其中每个对象都具有键值的哈希映射 要么 每个运算符具有树映射或键值的运算符对象的数组列表
我首先关注的是关于性能的记忆。 如果您有更高效的数据结构,请提出建议。
答案 0 :(得分:0)
听起来你想要一个多图。 Guava有一个实现:https://google.github.io/guava/releases/snapshot/api/docs/com/google/common/collect/Multimap.html。我认为,Apache commons也有一个。
以下是javadoc中的示例:
以下代码:
ListMultimap<String, String> multimap = ArrayListMultimap.create();
for (President pres : US_PRESIDENTS_IN_ORDER) {
multimap.put(pres.firstName(), pres.lastName());
}
for (String firstName : multimap.keySet()) {
List<String> lastNames = multimap.get(firstName);
out.println(firstName + ": " + lastNames);
}
...产生如下输出:
Zachary: [Taylor]
John: [Adams, Adams, Tyler, Kennedy]
George: [Washington, Bush, Bush]
Grover: [Cleveland, Cleveland]