J'ai une liste de mon objet de classe (EmployerDetails). Les détails de l'employeur comprennent 4 paramètres. La liste peut contenir tous les objets avec différents paramètres ou paramètres peuvent être identiques pour plus d'un objet dans cette liste. ma classe est quelque chose comme ceci:Exactement une valeur correspondante dans la liste de l'objet où l'objet consiste en 4 propriétés
public class EmployerDetails {
private String employerId;
private String occupationCode;
private String SchemeCategory;
private String switchingFlag;
}
Je l'ai utilisé ArrayList pour récupérer les objets.
Supposons que j'ai une liste d'objets 10 employeur ensemble de données comme ceci:
Employeur Id est la même dans tous les 10 objets. Le code d'occupation est le même dans 4 objets, différents dans 5 objets et null dans un objet.
SchemeCategory est différent dans l'objet 9 et null dans un objet.
switchingFlag pourrait être Y ou N.
Maintenant, mon problème est, j'ai une occupationCode et un schemeCategory avec moi et je dois récupérer l'objet qui satisfait ma condition et la condition est la suivante: Les enregistrements avec le même employeur (qui est l'exemple ci-dessus sont 10), je dois récupérer l'enregistrement qui correspond à mon code d'occupation et il devrait y avoir exactement une correspondance. Par exemple, si mon MétierCode correspond à 4 objets, je passerai cette condition et passerai à la condition 2 qui est: Je récupérerai l'enregistrement où le code occupationCode n'est pas nul et le schemeCategory correspond à ma schemeCategory. et encore une troisième condition.
Actuellement, je suis l'itération de la liste en utilisant pour chaque boucle, dans la condition 1 si le code occupationCode de l'objet correspond à mon OccupationCode, il ira à l'intérieur if condition. Dans l'exemple ci-dessus, il ira 4 fois, mais en itérant, je dois récupérer l'enregistrement seulement s'il y a un match.
Je pourrais utiliser le compteur et mettre l'objet dans HashMap et après que la boucle soit terminée si count == 1, récupérer l'objet mais le problème est ici, j'ai 4 conditions comme ça et je dois écrire pour boucle pour toutes les conditions et après itération, s'il n'y a pas de résultat, alors je dois répéter pour la condition 2 et ainsi de suite.
Y at-il une solution à ce problème? J'utilise Java 7 et je ne peux pas utiliser Java 8.
Merci.
* Y at-il une solution à ce problème? * Oui, il y en a probablement. Quelle est votre vraie question? –
quel est le moyen le plus court de le faire? Selon ma logique, je dois utiliser pour boucle pour toutes les conditions. –
Il n'y a aucun moyen d'éviter les boucles, si c'est votre question. Que diriez-vous de publier le code que vous avez, sur codereview.stackexchange.com, au lieu de nous demander de fournir le code pour vous? –