J'ai une assez grande liste contenant beaucoup d'instances d'une classe, cette classe a de nombreux attributs (variables membres). Mon problème est de trouver une structure de données réalisable pour stocker ces instances qui permettent des recherches basées sur de multiples attributs comme la recherche de base de données (par exemple, une classe d'étudiants, chaque étudiant a son âge, sa date de naissance, son grade et son GPA). entre 20 et 23). La carte ne semble pas applicable car elle n'autorise qu'une seule clé et si je crée un index multi-attributs pour la recherche, le grand O n'est toujours pas diminué. J'ai également envisagé d'utiliser des arbres comme l'arbre AVL, et je ne pense pas que cela fonctionnerait.comment choisir ou écrire ma propre structure de données java permettant la recherche multi-attributs
Je serais reconnaissant si quelqu'un pouvait me donner quelques conseils.
Une option consisterait à utiliser réellement une base de données. Peut-être un en mémoire un. Ou peut-être un moteur de recherche (Lucene, Solr, ElasticSearch) –
pouvez-vous être plus clair sur les éléments de données dans vos besoins? –
@JensSchauder Je pense vraiment avoir besoin d'une base de données, mais comme c'est une question de structure de données, je suis seulement autorisé à résoudre ce problème en mémoire en utilisant une structure de données. –