我有我的类对象(EmployerDetails)的列表。雇主详细信息由4个参数组成。列表可能包含具有不同参数的所有对象,或者参数可能与该列表中的多个对象相同。 我的班级是这样的:对象列表中包含4个属性的对象列表中的一个匹配值
public class EmployerDetails {
private String employerId;
private String occupationCode;
private String SchemeCategory;
private String switchingFlag;
}
我已经使用ArrayList中检索对象。
假设我有10雇主对象与数据集像这样的列表:
雇主编号在所有10个对象相同。
OccupationCode在4个对象中是相同的,在5个对象中是不同的,在一个对象中是null。
SchemeCategory在9对象中不同,在一个对象中为null。
switchingFlag可能是Y或N.
现在我的问题是,我有一个occupationCode和一个schemeCategory我,我要找回满足我的条件的对象和条件是:具有相同employerId的记录(以上示例为10),我必须检索与我的职业代码相匹配的记录,并且应该只有一个匹配。例如,如果我的OccupationCode与4个对象相匹配,我将跳过这个条件并继续条件2,即:我将检索occupCode不为null并且schemeCategory匹配我的schemeCategory的记录。又是第三个条件。
目前,我正在迭代使用每个循环的列表,条件1中,如果对象的occupCode与我的OccupationCode匹配,它将在条件内进入。在上面的例子中,它会进行4次,但迭代时只有在有一个匹配时才需要检索记录。
我可以使用计数器并将对象放在HashMap中,并在for循环完成后,如果计数== 1,检索对象,但问题在这里,我有这样的4个条件,我必须为所有条件编写for循环和迭代后,如果没有结果,那么我必须迭代条件2等等。
有没有解决这个问题的方法?我正在使用Java 7并且不能使用Java 8.
谢谢。
*有没有解决这个问题的方法?*是的,可能有。你真正的问题是什么? –
这样做的最短途径是什么?按照我的逻辑,我必须为所有条件使用for循环。 –
如果这是您的问题,则无法避免循环。您如何在codereview.stackexchange.com上发布您的代码,而不是要求我们为您提供代码? –