Hinweis: Diese Frage ist für meine Aufgabe. Es gibt also einige Regeln, die vielleicht nicht normal sind.Wie überlisten Sie Listenelemente und löschen Sie doppelte, während Sie die ursprüngliche Reihenfolge beibehalten?
Ich habe gerade festgestellt, meine Frage macht keinen Sinn. Also habe ich es bearbeitet.
Angenommen, ich eine Liste mit ganzen Zahlen [1,2,3,4,1,2,1,5]
Durch einen Iterator verwenden, wie kann ich duplizierten Elemente entfernen, während die Reihenfolge der Elemente zu halten ohne Unterbrechung? Das erwartete Ergebnis für die obige Liste sollte [1,2,3,4,5] sein.
Was ich zur Zeit mit aufkam ist das gleiche wie das, was Manash Ranjan Dakua in dieser Frage beantwortet How do I remove repeated elements from ArrayList?
public static void main(String[] args){
ArrayList<Object> al = new ArrayList<Object>();
al.add("abc");
al.add('a');
al.add('b');
al.add('a');
al.add("abc");
al.add(10.3);
al.add('c');
al.add(10);
al.add("abc");
al.add(10);
System.out.println("Before Duplicate Remove:"+al);
for(int i=0;i<al.size();i++){
for(int j=i+1;j<al.size();j++){
if(al.get(i).equals(al.get(j))){
al.remove(j);
j--;
}
}
}
System.out.println("After Removing duplicate:"+al);
}
Aber wenn ich will hier Iterator verwenden, anstatt für Schleifen? Wie kann ich das erreichen (doppelte Artikel entfernen, während die Reihenfolge unverändert bleibt)?
Wenn die Frage nicht klar genug oder zu vage ist. Bitte weisen Sie darauf hin! Ich werde versuchen, es umzuformulieren.
Vielen Dank für Ihre Hilfe!
Ich bin unklar, was Sie fragen. Warum nicht einfach den Iterator benutzen, den Sie gerade haben? –
@HovercraftFullOfEels Sie haben recht Ich habe meine Frage nicht klar genug gestellt –
@FedericoPeraltaSchaffner Nun, Regeln durch Kurszuweisung festgelegt .... müssen Iteratoren verwenden –