gpt4 book ai didi

java - 获取具有多个可能的键名称的映射的值

转载 作者:行者123 更新时间:2023-12-01 20:16:49 26 4
gpt4 key购买 nike

我正在分析一组结构化数据,并且有一组相似的键名称

(例如:GENDER_ATTRIBUTE = {性别,性别})

然后我有一个数据集,它可能有前一个数组中的一个键作为键,我需要获取它的值。

例如:

name: ABC,
address: XYZ,
gender: F

或者

name: ABC,
address: XYZ,
sex: F

最后我需要得到一个结果,例如 GENDER_ATTRIBUTE = F

我绝对可以使用迭代方法来根据数据集检查数组的每个项目,但我想找出是否有更好的方法来实现这一点。

更新

目前数据集被实现为LinkedHashMap,属性名称存储在字符串数组中。

最佳答案

对于上面的例子,我想不出比迭代检查更好的方法了。您必须对每个可能的键进行一次比较,因此查找值所需的时间将是 O(n),其中 n 是数字可能的键。如果 n 是“小” - 例如上面的 n=2,则没有什么可以改进的。

如果 n(可能的键的数量)变大,您可以使用映射来缩短查找时间,即:构建一个附加的键映射到其唯一的键属性。在本例中,sexgender 都将映射到 GENDER_ATTRIBUTE

  1. 获取输入(键:值) - 在您的示例中,值是 F,键可以是 sexgender
  2. 在 key:attribute 映射中查找该键的属性 - 在您的示例中 GENDER_ATTRIBUTE
  3. 返回属性:值 - 在您的示例中GENDER_ATTRIBUTE:F

虽然就时间复杂度而言,这仅在存在许多不同的可能键时才有意义,但即使键数量适中,它也可以显着提高可读性。

关于java - 获取具有多个可能的键名称的映射的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45620345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com