spezielle Wörter aus Liste entfernen

Bitte aktiviere JavaScript!
Hallo, ich habe folgendes Problem.
Ich habe eine ArrayList<String> und will daraus alle Wörter löschen welche ein "e" enthalten. Irgendwie klappt es jedoch nicht, was ich gemacht habe.

Die ArrayList enthält folgende Wörter:
Hund, cat,haus,Maus,Fenster,koch,mülleimer,Test,nix

Java:
//1. Versuch
public static void removeWithE(ArrayList<String> list) {
 
  ArrayList<String> inList = new ArrayList<String>();
  for(String s : list) {
   if(!s.contains("e")) {
    inList.add(s);
   }  
 }
  System.out.println(inList); // output : [nix, koch, haus, cat]
}

// 2. Versuch
public static void removeWithEtwo(ArrayList<String> list) {
 
 for(Iterator<String> i = list.iterator(); i.hasNext();) {
  String s = i.next();
  boolean hasO = s.contains("e");
 
  if(hasO) {
   i.remove();
  }
 }
 System.out.println(list); // output: [nix, koch, haus, cat]
}
Wäre froh, wenn mir jemand sagen könnte was ich falsch gemacht habe und wie es zu verbessern ist.
 
A

Anzeige




Vielleicht hilft dir unser Java-Tutorial hier weiter —> (hier klicken)
Beide Variante sehen korrekt aus (außer, dass die zweite Variante die übergebene Liste in-place ändert und die erste Variante nicht). Bist du sicher, dass die Parameter-Liste `list` auch wirklich alle Wörter enthält, die du angegeben hast?
 
Ja, aber hab grad gesehen was nicht stimmt. Hatte zuvor schon bischen mit derselben Liste rumgespielt, umdrehen und so Zeugs halt. Und eben auch alle Wörter entfernen welche mit einem Grossbuchstaben beginnen ;)
 
A

Anzeige




Hier lernst du alle wichtigen Java-Grundlagen.
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben