Plugin Comparer les clés d'une HashMap

  • Auteur de la discussion Auteur de la discussion Syrows
  • Date de début Date de début

Syrows

Développeur
7 Juillet 2016
137
20
130
23
Bonjour,
je viens ici car j'ai un petit problème que je ne sais pas résoudre. En effet, je voudrai comparer des éléments se trouvant à l'intérieur de ma HashMap. Voici mon code:
Code:
public void getArena(){
 
  ConfigurationSection section = getConfig().getConfigurationSection("arenas");
  for(String arenaName : section.getKeys(false)){
   
   double maxX = section.getDouble(arenaName + ".maxX");
   double maxY = section.getDouble(arenaName + ".maxY");
   double maxZ = section.getDouble(arenaName + ".maxZ");
   
   double minX = section.getDouble(arenaName + ".minX");
   double minY = section.getDouble(arenaName + ".minY");
   double minZ = section.getDouble(arenaName + ".minZ");
   
   String world = section.getString(arenaName + ".world");
   World fworld = Bukkit.getWorld(world);
   
   int id = section.getInt(arenaName + ".id");
   
   Location location = new Location(fworld, maxX, maxY, maxZ);
   Location location2 = new Location(fworld, minX, minY, minZ);
   
   test.put(location, id);
   test.put(location2, id);
  }

En fait, vous pouvez voir que j'ajoute un id au différentes locations. Je voudrai pouvoir rassembler ces locations en fonction de leur id et donc si deux locations ont le même id, cela veut dire que c'est une arène. C'est l'id qui va définir leur arène en fait. En gros, je veux pouvoir récupérer les deux locations se trouvant dans ma HashMap et ayant le même id pour pouvoir interagir avec.

En espérant que vous pourrez m'aider. Merci d'avance.
 
Salut,

Plusieurs possibilités:

Tu changes l'HashMap en
<Integer, List<Location>>
Et tu ajoute toutes les locations devant avoir la même id a la list.

Sinon tu fais une boucle pour vérifier chaque valeur.
 
A vue de nez ça m'a pas l'air très très optimisé, ça non?
Non c'est sûr et c'est pas fini non plus xD D'aillurs y'a pas d'erreur mais ça fonctionne toujours pas. Mais je sais d'où ca vient ;)

AlexFatta