我有一百万行.txt格式的数据.格式很简单.对于每一行:
user1,value1 user2,value2 user3,value3 user1,value4 ...
你知道我的意思.对于每个用户,它可能会出现多次,或只出现一次(您永远不会知道).我需要找出每个用户的所有值.因为用户可能会随机出现,所以我使用了Hashmap来完成它.即:HashMap(key:String,value:ArrayList).但是要向arrayList添加数据,我必须经常使用HashMap get(key)来获取arrayList,为它添加值,然后将其放回HashMap.我觉得效率不高.有人知道更好的方法吗?
我必须上课,ClassA和ClassB以及"多对多"的AssociationClass.我想使用一个结构来保存A和B之间的关联,例如我可以知道,对于A或B的每个实例,它们是它们的对应物.
我想过使用带有对键的Hashmap:
Hasmap<Pair<ClassA, ClassB>, AssociationClass> associations;
这样,我可以添加和删除ClassA和ClassB的两个实例之间的关联,并且我可以查询两个给定实例的关系.
但是,我错过了为ClassA或ClassB的给定实例定义所有关联的功能.
我可以通过暴力破解并遍历地图的所有键来搜索给定实例之间的关联,但这是低效且不优雅的.
你知道任何数据结构/免费库可以实现吗?我不想重新发明轮子.
在此先感谢您的帮助,
拉斐尔
注意:这不是一个"数据库"问题.这些对象是用于实时计算的纯POJO,我不需要持久化的东西.
我想要一个从键到对象映射的数据结构,反之亦然(与HashMaps不同,它只在单一方向上映射.)一个想法可能是将HashMap存储在自身内以进行反向查找,但这将是一种低效的方法.
什么是双向映射的最佳实现?