Klassen Doppelt so viele Elemente in Arraylist ?

dummy2k

Mitglied
Ich fülle über einer Klasse eine Arraylist<String> auf. In einem Setter werden sie als Klassenvariable gesetzt. Nach Aufruf mit get sind die Anzahl der Elemente doppelt so groß, also die Daten werden doppelt angezeigt. Kann mir jemand ein Hinweis geben, wo mein Fehler liegt? Danke!

Code:
// hier wird die Klasse aufgefüllt mit Demo Daten
listCoursesDates.add("1. April 11:00-13:00");
listCoursesDates.add("3. April 11:00-13:00");
listCoursesDates.add("5. April. 9:00-11:00");
listCourses.add(new Course("Moderner Tanz", listCoursesDates));

// klasse sieht so aus

public class Course {
   private String name;
    private ArrayList<String> appointments = new ArrayList<String>();     

    public Course(String name, ArrayList <String>appointments) {
            this.setName(name);
            this.setAppointments(appointments);
    }

    public ArrayList<String> getAppointments() {
        return appointments;
    }

    public void setAppointments(ArrayList<String> appointments) {
        this.appointments = appointments;
    }

// wenn ichs so ausgebe, habe ich plötzlich 6 Elemente?
 
Zuletzt bearbeitet:
Also es liegt bestimmt nicht an dem Code was du hier gepostet hast, sondern an etwas das du nicht mitgeliefert hast. Ein kleines KSKB:
Java:
import java.util.ArrayList;
import java.util.List;

public class Test {
  public static void main(String... args) {
    List<Course> listCourses = new ArrayList<>();
    List<String> listCoursesDates = new ArrayList<>();
    listCoursesDates.add("1. April 11:00-13:00");
    listCoursesDates.add("3. April 11:00-13:00");
    listCoursesDates.add("5. April. 9:00-11:00");
    listCourses.add(new Course("Moderner Tanz", listCoursesDates));
    for (Course c : listCourses) {
      String ausgabeText = "";
      for (String a : c.getAppointments()) {
        ausgabeText += a + ", ";
      }
      System.out.println(ausgabeText);
    }
  }
  
}

class Course {
  private String name;
  private List<String> appointments;
  
  public Course(String name, List<String> appointments) {
    this.setName(name);
    this.setAppointments(appointments);
  }
  
  public String getName() {
    return name;
  }
  
  public void setName(String name) {
    this.name = name;
  }
  
  public List<String> getAppointments() {
    return appointments;
  }
  
  public void setAppointments(List<String> appointments) {
    this.appointments = appointments;
  }
}
 
Großes Sorry! Hab den Fehler gefunden. Danke für eure Hilfe 🙂

Update:
ok, zu früh gefreut, Fehler nach wie vor da. Ich werde mal nochmal den Code genau durchgehen und mich gegebenfalls dann nochmal melden!
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben