我有我的類對象(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上發佈您的代碼,而不是要求我們爲您提供代碼? –