Dans ma demande, nous avons déjàquel type de structure de données est le meilleur?
Map<String, List<String>>
Maintenant, nous avons eu une autre utilisation cas où la nécessité de trouver une clé qui est mis en correspondance avec une chaîne particulière dans la liste.
Je pense à l'écriture suivante:
string getKey(Map<String, List<String>> m, String str) {
for (Entry<String, List<String>> entry :m.entrySet()) {
if(entry.getValue().contains(str)) {
retrun entry.getKey();
}
}
return null;
}
Map
peut avoir à entrées max 2000. et chaque List
peut avoir au maximum 500 String
s.
Des suggestions qui pourraient être mieux adaptées? Je peux changer la structure de données initiale (Map
) aussi s'il y a une meilleure manière de le faire.
Vous pouvez utiliser 'Set' au lieu de 'List ' car la méthode 'contains()' est beaucoup plus rapide sur 'Set'. Si votre carte est grande, vous pouvez ajouter une autre carte. –
Shivam