l*****c 发帖数: 316 | 1 这两天被问到的
有一个program,可以不停的读入数据,需要建立一个数据结构,管理这些数据
有N多个公司,M多个地点,然后每个公司在各个地方都有分部,每个分部有不同
的工资标准,希望用一个数据结构来管理。N,M未知, 可能很大
比如
公司A 公司B 公司C 。。。。。。。
地点A 100 150 200 。。。。。
地点B 140 200 160 。。。。
。 。 。 。 。。。。
。 。 。 。 。。。
。 。 。 。 。。
我想如果直接分配一个矩阵的话,如果公司数量或者地点数量超过矩阵大小,还要重新
分配。
dynamic的话,不是很清楚怎么做,希望高手指点一下。
多谢 |
p*****2 发帖数: 21240 | |
l*****c 发帖数: 316 | 3 提过这个思路,不知道是我解释的不清楚还是怎么样,
对方好像不怎么喜欢
能展开说说吗
【在 p*****2 的大作中提到】 : ArrayList不行吗?
|
y**f 发帖数: 32 | 4 这个难道不是std::map的应用?
std::map
key = std::string("公司A:地点A") |
b***u 发帖数: 12010 | 5 正解。hash table一个道理。一个地点一个map,同时一个公司也一个inverse map,查
找方便。
【在 y**f 的大作中提到】 : 这个难道不是std::map的应用? : std::map : key = std::string("公司A:地点A")
|
w**z 发帖数: 8232 | 6 Need to consider the access pattern, if you want to access the salary of an location of a company, use 两层map第一个map,key是公司,value是map,第二层map,key是地点,value是工资
【在 b***u 的大作中提到】 : 正解。hash table一个道理。一个地点一个map,同时一个公司也一个inverse map,查 : 找方便。
|
l*****c 发帖数: 316 | 7 这是C++里面的吧,
java该用什么呢
Map keySet() ?
【在 y**f 的大作中提到】 : 这个难道不是std::map的应用? : std::map : key = std::string("公司A:地点A")
|
w**z 发帖数: 8232 | 8 java has HashMap
HashMap>
【在 l*****c 的大作中提到】 : 这是C++里面的吧, : java该用什么呢 : Map keySet() ?
|
h********w 发帖数: 221 | 9 我会用left-right sibling tree, 可申可缩,求大虾们指点 |
l*****c 发帖数: 316 | 10 就是说两类标签就用两层hashmap
这个不错
【在 w**z 的大作中提到】 : java has HashMap : HashMap>
|
l*****c 发帖数: 316 | 11 how to iterate through this hashmap?
I use HashMap.Entry>,
but complier says "java.util.HashMap.Entry" is not public in java.util.
HashMap
But when I switch to Map.Entry>, it works
thanks
【在 w**z 的大作中提到】 : java has HashMap : HashMap>
|
w**z 发帖数: 8232 | 12 Two ways.
1)better way,
entrySet
public Set> entrySet()
get iterator of the entry set
2)less efficient
keySet
public Set keySet()
get iterator of key set, and do lookup on the hashmap.
【在 l*****c 的大作中提到】 : how to iterate through this hashmap? : I use HashMap.Entry>, : but complier says "java.util.HashMap.Entry" is not public in java.util. : HashMap : But when I switch to Map.Entry>, it works : thanks
|