我对 Java 还不太有经验,我希望有人能引导我走向正确的方向,因为现在我感觉我只是在用头撞墙......
第一个类称为 MeasuredParams,它有 40 多个数字字段(身高、体重、腰围尺寸、手腕尺寸 - 一些是整数,但大部分是双精度型)。第二类是统计分类器,称为分类器。它已针对 MeasuredParams 字段的子集进行了训练。已训练分类器的字段名称按顺序存储在名为 reqdFields 的数组中。
我需要做的是加载一个新数组 toClassify,其中存储在 MeasuredParams 字段中的值与 reqdFields 中找到的字段列表(包括顺序)相匹配。我可以对 MeasuredParams 类进行任何必要的更改,但我仍坚持使用 Classifier。
我的强力方法是删除 MeasuredParams 中的字段并使用 arrayList 代替,并将字段名称存储在 Enum 对象中以充当索引指针。然后循环遍历 reqdFields 列表,一次一个元素,并在 Enum 对象中查找匹配的名称,从而在 arrayList 中找到正确的位置。将存储在该位置的值加载到 toClassify 中,然后继续处理 reqdFields 中的下一个元素。
我不确定如何准确地搜索 Enum 对象 - 如果字段名称存储在第二个 arrayList 中,则会容易得多。但是两者之间的索引位置必须保持匹配,我又回到使用枚举。我认为。我整个下午都在兜圈子,我一直在想一定有一种更简单的方法可以做到这一点。我现在被困住了,看不到我已经开始的事情。
任何帮助将不胜感激。非常感谢!
Michael
您可能最好使用 Map 而不是 List,您可以使用枚举作为键并获取值。
Map<YourEnumType,ValueType> map = new HashMap<YourEnumType,ValueType>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)