Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
In meinen Augen hast du auch beim add noch ein Problem weil du da immer eine neue Liste anlegst. Und beim remove prüfst du zwar ob "title" in der Liste enthalten ist, du löscht aber ein ganz anderes Element was ja auch syntaktisch gar nicht zusammenpasst. Du solltest vielleicht erst mal alle Items in der Liste durchgehen und deren Titel mit dem übergebenen Titel vergleichen
Iteriere über die MediaItems in der currentList vom letzten bis zum ersten, und überprüfe, ob der title des MediaItems dem übergebenen String gleicht. Falls ja, lösche das MediaItem aus der liste.
Du hast übrigens noch einen fetten Bug in deienr addNewItem-Methode: es ist sicher NICHT so gedacht, dass du in dieser Methode eine neue currentList anlegst, sondern du sollst das MediaItem der currentList hinzufügen. Dazu muss die currentList im Konstruktor oder im Klassenkopf initialisiert werden.
Steht oben. Eine Schleife über alle Elemente der Liste, vom letzten zum ersten, den Titel jedes Elementes mit dem übergebenen Titel vergleichen und falls gleich dieses Element löschen.
public boolean removeItemByTitle(String title) {
if (currentList.isEmpty() == false) {
for (int i =0; i<currentList.toString().length(); i++){
if (title.equals(i)){
currentList.remove(i);
}else {
System.out.println("Titel ist nicht vorhanden");
}}
} else {
System.out.println("currentList ist leer");
return false;
}
return false;
}
Warum ist die Abbruchbedingung deiner for-Schleife i < currentList.toString().length()?
Warum verwendest du nicht die size() Methode der Liste? toString() auf einer Liste liefert dir sicher nicht das gewünschte
public boolean removeItemByTitle(String title) {
for (int i =currentList.size()-1; i>=0; i--){
if (title.equals(currentList.get(i).getTitle())){
currentList.remove(i);
}else {
System.out.println("Titel ist nicht vorhanden");
}}
Weisst du nicht was du machen sollst oder weisst du nicht wie du es machen sollst. Falls du diesen Collections.sort(...) nutzen willst dann hast du eine Liste von MenuItems zum sortieren. Ich nehme mal an die Klasse MenuItems hast du auch im Laufe der Aufgabe erstellt oder ? Und nun müsste diese Klasse (= MenuItem) einfach noch das Interface Comparable implementieren.
Mit folgender Zeile lässt sich die ArrayList alphabetisch sortieren:
Java:
Collections.sort(obst);
Vorsicht: Die Strings sind dann in dieser Reihenfolge hinterlegt:
Apfel
Birne
Orange
Traube
Zwetschge
banane
pfirsich
Die Strings banane und pfirsich sind unten weil sie klein geschrieben sind. Es wird nämlich bitweise geschaut. In einer Ascii-Tabelle (z.B. hier) lässt sich auch erkennen, dass die Kleinbuchstaben nach den Großbuchstaben kommen.