【发布时间】:2017-10-05 17:22:55
【问题描述】:
我对 Java 的经验还不是很丰富,我希望有人能引导我朝着正确的方向前进,因为现在我觉得我只是在用头撞墙......
第一个类称为 MeasuredParams,它有 40 多个数字字段(身高、体重、腰围、腕围 - 一些 int,但大多是双精度)。第二类是称为分类器的统计分类器。它已经在 MeasuredParams 字段的一个子集上进行了训练。已训练分类器的字段名称按顺序存储在名为 reqdFields 的数组中。
我需要做的是加载一个新数组 toClassify,其中存储在 MeasuredParams 的字段中的值与 reqdFields 中的字段列表(包括顺序)匹配。我可以对 MeasuredParams 类进行任何必要的更改,但我仍然坚持使用 Classifier。
我的蛮力方法是摆脱 MeasuredParams 中的字段并改用 arrayList,并将字段名称存储在 Enum 对象中以充当索引指针。然后循环遍历reqdFields列表,一次一个元素,在Enum对象中找到匹配的名字,在arrayList中找到正确的位置。将存储在该位置的值加载到 toClassify,然后继续到 reqdFields 中的下一个元素。
我不确定我将如何准确地搜索 Enum 对象 - 如果将字段名称存储在第二个 arrayList 中会容易得多。但随后两者之间的索引位置必须保持匹配,我又回到使用枚举。我认为。我整个下午都在转圈,我一直在想一定有更简单的方法。我现在只是卡住了,看不到我已经开始的事情。
任何帮助将不胜感激。非常感谢!
迈克尔
【问题讨论】:
标签: java arraylist compare field