我对Java还没有太多的经验,我希望有人能够引导我走向正确的方向,因为现在我觉得我只是在靠墙撞我的头。帮助两个类之间的字段匹配
第一类称为MeasuredParams,它有40多个数字字段(高度,重量,腰围,腕尺寸 - 有些是int,但大多是双)。第二类是一个称为分类器的统计分类器。已经对MeasuredParams字段的子集进行了培训。分类器已被训练的字段的名称按顺序存储在名为reqdFields的数组中。
我需要做的是加载一个新的数组toClassify,存储在来自MeasuredParams的字段中的值与reqdFields中的字段列表(包括顺序)匹配。我可以对MeasuredParams类进行任何必要的更改,但我坚持使用Classifier。
我的蛮力方法是摆脱MeasuredParams中的字段,并使用arrayList,并将字段名称存储在Enum对象中以充当索引指针。然后遍历reqdFields列表,每次一个元素,并在Enum对象中查找匹配的名称,以在arrayList中找到正确的位置。将存储在该位置的值加载到toClassify,然后继续到reqdFields中的下一个元素。
我不确定我究竟该如何搜索Enum对象 - 如果字段名称存储在第二个arrayList中,会更容易。但是,这两者之间的指数位置必须保持匹配,我又回到使用Enum。我认为。整个下午我一直在圈子里奔跑,我一直在想,必须有一个更简单的方法来做到这一点。我现在只是卡住了,无法看到我已经开始的事情。
任何帮助将非常感激。非常感谢!
迈克尔
感谢您声明映射为Map而不是HashMap - 没有足够的示例代码鼓励使用接口!但我会考虑使用EnumMap而不是HashMap来提高效率。 – 2010-04-03 08:31:41