0
votes

Supprimer plusieurs éléments avec plusieurs index de ArrayList en Java

J'ai deux liste2. Je stocke des éléments dans une liste et dans la deuxième liste, je stocke des chiffres INT que je considère comme index.

Je veux supprimer les éléments de la liste des éléments avec tous les index. xxx


1 commentaires

4 Réponses :


3
votes

Vous devez ajouter à la fin:

  Collections.reverse(indexes); 
    for(Integer index : indexes){
        items.remove((int)index);
    }


0 commentaires

0
votes

solution à l'aide de l'API JAVA Stream,

IntStream.range(0, items.size()).filter(i -> !indexes.contains(i)).mapToObj(items::get)
                .collect(Collectors.toList())


1 commentaires

Shaunak Patel ... Merci beaucoup pour prendre le temps de le faire.



0
votes
 public static void filter(List<String> list, List<Integer> indexesToRemove){
        Collections.reverse(indexesToRemove);
        for (Integer indexToRemove : indexesToRemove) {
            list.remove((int)indexToRemove);
        }

    }
    public static void main(String[] args) {
        ArrayList<String> items = new ArrayList<String>();

        ArrayList<Integer> indexes = new ArrayList<Integer>();

        items.add("a");
        items.add("b"); // should be removed
        items.add("c");
        items.add("d"); // should be removed
        items.add("e");
        items.add("f"); // should be removed
        items.add("g");
        items.add("h");


        indexes.add(1);
        indexes.add(3);
        indexes.add(5);

        filter(items, indexes);
        System.out.println(items);
    }
Here You go. Remove from arrays starts of biggest index :)

0 commentaires

0
votes

Pour quiconque était coincé et atterri sur cette page, mais vos indices n'étaient pas une liste d'indices, mais un éventail d'indices. Cette page a été utile mais j'ai modifié les réponses un peu et cela a fonctionné. Le code ci-dessous xxx

Remarque: itemindices représente les indices des positions de la liste, vous souhaitez supprimer. Uricache n'est pas nécessaire, je l'ai utilisé dans mon code pour stocker une liste des éléments supprimés (qui étaient URI, à la manière). Mediafeuris est la liste que vous souhaitez supprimer ces éléments avec des indices spécifiés par le tableau itemindices


0 commentaires