563 Stimmen

Wie kann ich wiederholte Elemente aus ArrayList entfernen?

Ich habe eine ArrayList<String> und ich möchte wiederholte Zeichenfolgen daraus entfernen. Wie kann ich das tun?

3voto

ram Punkte 139

Wenn Sie Ihre Bestellung bewahren wollen, verwenden Sie am besten LinkedHashSet . Denn wenn Sie diese Liste durch Iteration an eine Einfügeabfrage übergeben wollen, würde die Reihenfolge erhalten bleiben.

Versuchen Sie dies

LinkedHashSet link=new LinkedHashSet();
List listOfValues=new ArrayList();
listOfValues.add(link);

Diese Umwandlung ist sehr hilfreich, wenn Sie eine Liste, aber keine Menge zurückgeben möchten.

3voto

Diese drei Codezeilen können das duplizierte Element aus ArrayList oder einer beliebigen Sammlung entfernen.

List<Entity> entities = repository.findByUserId(userId);

Set<Entity> s = new LinkedHashSet<Entity>(entities);
entities.clear();
entities.addAll(s);

2voto

Hardip Punkte 350
ArrayList<String> city=new ArrayList<String>();
city.add("rajkot");
city.add("gondal");
city.add("rajkot");
city.add("gova");
city.add("baroda");
city.add("morbi");
city.add("gova");

HashSet<String> hashSet = new HashSet<String>();
hashSet.addAll(city);
city.clear();
city.addAll(hashSet);
Toast.makeText(getActivity(),"" + city.toString(),Toast.LENGTH_SHORT).show();

2voto

Ghyour Punkte 21
for(int a=0;a<myArray.size();a++){
        for(int b=a+1;b<myArray.size();b++){
            if(myArray.get(a).equalsIgnoreCase(myArray.get(b))){
                myArray.remove(b); 
                dups++;
                b--;
            }
        }
}

2voto

HarpyWar Punkte 113

Wenn Sie die ArrayList füllen, verwenden Sie für jedes Element eine Bedingung. Zum Beispiel:

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

    // fill 1 
    for ( int i = 0; i <= 5; i++ ) 
        if ( !al.contains( i ) ) 
            al.add( i ); 

    // fill 2 
    for (int i = 0; i <= 10; i++ ) 
        if ( !al.contains( i ) ) 
            al.add( i ); 

    for( Integer i: al )
    {
        System.out.print( i + " ");     
    }

Wir erhalten ein Array {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X