我需要根据存储在数据库表中的longNames列表和相应的shortNames将longName转换为shortName。桌上有一个约。 500个条目,预计不会增长。
示例:我收到longName
值设置为Royal Bank of Scotland Euro
的请求,因此shortName
值输出类似于:RBOS €
基于其值DB。
我可以将LongNames和shortNames的DB条目加载到Map中,并在longName
值上键入Map并检查每个值
在请求中的字符串中存在作为Map中的键,但这似乎是搜索相应的低效方式
shortName
。在上面的例子中,我需要在找到RBOS
的匹配之前阅读Map 4次,因为我不知道String中有多少值会构成每个Key来读取Map。
我想知道是否有更有效的方法解决这个问题?
答案 0 :(得分:0)
制作一个存储过程(没人真正喜欢)。
解析"苏格兰皇家银行欧元"如:
从最长的序列开始
变体案例:
最终,每次访问都会产生结果。
我已经看到了足够的情况,其中实现选择转到了java解析解决方案,可能还有一些缓存。我也没有找到这么糟糕的解决方案。