这是一个棘手的数据结构和数据组织案例。
我有一个应用程序,它从大文件中读取数据并生成各种类型的对象(例如 、Boolean
、 ) Integer
,这些对象String
被分类为几个(不到十几个)组,然后存储在数据库中。
每个对象当前都存储在单个HashMap<String, Object>
数据结构中。每个这样HashMap
的对应一个单一的类别(组)。每个数据库记录都是根据所有类别中包含的所有对象中的信息(HashMap 数据结构)构建的。
出现了检查后续记录在列的数量和类型上是否“等效”的要求,其中必须通过比较HashMap
每个存储对象的名称(键)和类型(实际类)来在所有映射中验证等效性。
我正在寻找一种实现此功能的有效方法,同时保持原始对象分类,因为以尽可能快的方式按类别列出对象也是一项要求。
一个想法是对键进行排序(例如,通过将每个键替换HashMap
为 a TreeMap
),然后遍历所有映射。另一种方法是仅复制 a 中的所有内容以TreeMap
进行比较。
实现此功能的最有效方法是什么?
此外,如果您将如何寻找连续记录之间的差异(即添加的字段和删除的字段)?