我正在尝试设计一个支持3种功能的银行应用程序,
我选择了
ConcurrentHashMap
作为我的数据结构,代表持有客户余额的实体ConcurrentHashMap
,拥有全部功劳ConcurrentHashMap
,其中包含所有借项。添加抵免额之前的一项要求是检查进行抵免额的transactionId是否不存在。
在我拥有所有信用的ConcurrentHashMap
中,我的密钥为customerId,creditType和currency。但是对于上述要求,我将需要在地图上查找所有信用类型,以检查客户是否未使用该transactionId。
有没有更好的方法来处理它?我是否可以为包含3个属性(其中之一是可选属性)的hashMap提供密钥?如果未提供该值,那么该属性的任何值都应该做?
还是在这种情况下使用的ConcurrentHashMap
是错误的数据结构?
编辑1
使用一个ConcurrentHashMap
来跟踪所有内容,但这会导致三个不同的搜索(三个不同的键);使用客户ID,货币类型作为键(元组)
在表现方面还可以吗?您还能如何解决这种银行业务问题?