78 votes

Comment trouver la position d'index d'un élément dans une liste lorsque contient renvoie vrai

J'ai un List de HashMap donc j'utilise List.contains pour savoir si la liste contient un HashMap spécifié. Si tel est le cas, je souhaite récupérer cet élément dans la liste. Comment puis-je trouver la position de l'index où se trouve l'élément ?

     List benefit = new ArrayList();
    HashMap map = new HashMap();
    map.put("one", "1");
    benefit.add(map);
    HashMap map4 = new HashMap();
    map4.put("one", "1");

    System.out.println("size: " + benefit.size());
    System.out.println("does it contain orig: " + benefit.contains(map));
    System.out.println("does it contain new: " + benefit.contains(map4));

    if (benefit.contains(map4))
        //how to get index position where map4 was found in benefit list?

152voto

Tomasz Nurkiewicz Points 140462
benefit.indexOf(map4)

Il renvoie soit un index, soit -1 si les éléments ne sont pas trouvés.

Je recommande fortement d' envelopper la carte dans un objet et d'utiliser des génériques si possible.

16voto

hamza raissi Points 151

Voici un exemple:

 List<String> names;
names.add("toto");
names.add("Lala");
names.add("papa");
int index = names.indexOf("papa"); // index = 2

15voto

Bhesh Gurung Points 24875

6voto

Oli Charlesworth Points 148744

Utilisez List.indexOf() . Cela vous donnera la première correspondance lorsqu'il y a plusieurs doublons.

4voto

Andrei LED Points 1824

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X