Bonjour à tous,
Je cherche à implémenter une méthode permettant de filtrer une liste A et retournant une liste B en recherchant un texte parmi les champs des objets de la liste A. J'ai deux possibilités :
* Chercher directement dans le JSON
* Chercher dans les objets désérialisés sous forme de List<Fullname>
Les performances sont importantes mais pas primordiales (entre 100 et 200 entrées dans la liste A)
Une implémentation de Lucène serait trop lourd pour ce besoin.
Avez-vous une solution plus optimisée qu'une recherche via un for + contains ? (j'ai volontairement simplifié les champs dans l'exemple ci-dessous, il y en aurait 5 au lieu de 2).
Merci pour vos conseils et/ou ressources.
Exemple, avec la liste A suivante (au format JSON mais peut être la liste désérialisée) :
Une recherche de la chaine "mar" doit me retourner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 { "listA" : [ { "firstname": "marcel", "lastname" : "dupont" }, { "firstname": "Florent", "lastname" : "Rato" }, { "firstname": "pierre", "lastname" : "marrant" } ] }
Une recherche de la chaine "nt" doit me retourner la même liste car dupont, florent, marrant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 { "listB" : [ { "firstname": "marcel", "lastname" : "dupont" }, { "firstname": "pierre", "lastname" : "marrant" } ] }
Partager