J'ai une application (java) existante qui modélise un carnet de commandes, car chaque commande est visible pour tous les autres. Il est maintenant nécessaire de mettre en place (ce qui est effectivement) un ACL par ordre en place.Un moyen efficace de trouver des "correspondances" dans une matrice en java
Un exemple pour illustrer, disons que j'ai groupes d'accès [VZ] et les commandes [AF]
A B C D E F
V 1 0 0 1 1 0
W 0 1 1 0 0 1
X 0 0 0 0 1 1
Y 1 1 0 0 0 1
Z 0 1 0 1 0 0
Une nouvelle commande arrive qui spécifie la visibilité que W & Y. Quelle serait un moyen rapide de retourner l'ensemble des valeurs qui peuvent être vus par l'ordre entrant?
Une implémentation qui a été suggérée consiste à représenter chaque ligne comme un BitSet et à faire W | Y bien que je me demande ce qui va arriver à la performance à mesure que la taille de la matrice augmente.
Un Souhaitée mais pas caractéristique essentielle est de permettre une relation parent-enfant sur une dimension comme
A B C D E F
V 1 0 0 1 1 0
W 0 1 1 0 0 1
X-1 0 0 0 0 1 1
X-2 1 0 0 0 1 1
X-3 0 1 0 0 1 1
Y 1 1 0 0 0 1
Z 0 1 0 1 0 0
Il serait idéal si elle était de la même efficace pour récupérer « W | X » comme " W | X-1 "
Tout indice dans le sens d'un algorithme et/ou d'une structure de données appropriée est très apprécié.