Comment stocker les positions des cellules (ligne, colonne) en Java?

Je dois stocker certaines positions de cellule dans un file excel pour être comparé ultérieurement. ex. (1,6) (1,17) (2,6) (2,17). où 1 -> ligne, 6 -> colonne

Je ne peux pas comprendre quelle collection utiliser dans Java pour cela.

Il doit y avoir un présent cartographique entre les deux valeurs. Je ne peux pas utiliser une carte car les valeurs keys ne sont pas uniques. Je ne veux pas utiliser de arrays multidimensionnels car ils sont trop compliqués.

Toutes les suggestions sont les bienvenues.

Si vous devez mapper une valeur de ligne unique à plusieurs valeurs de colonne, vous pouvez utiliser une Map<Integer, List<Integer>> ou une Map<Integer, Set<Integer>> et créer une sorte de list de contiguïté . Ensuite, avec la valeur de la ligne, vous pourrez récupérer toutes les valeurs de colonne correspondantes. Pour faciliter l'utilisation, vous pouvez l'envelopper avec une class personnalisée comme celle-ci:

 class Positions { private Map<Integer, Set<Integer>> positions = new HashMap<>(); void add(int row, int column) { Set<Integer> columns = this.columnsFromRow(row); columns.add(column); this.positions.put(row, columns); } Set<Integer> columnsFromRow(int row) { Set<Integer> columns = this.positions.get(row); if (columns == null) { columns = new HashSet<>(); } return columns; } boolean isTherePosition(int row, int column) { return this.columnsFromRow(row).contains(column); } }