Java Wie funktioniert der Bubble Sort mit Strings?

Status
Für weitere Antworten geschlossen.
Ich denke mal, die sort() erwartet Objekte ungleich null als arrayelemente. Dann musst du dir die sortiermethode selber schreiben
 
bin mir nicht zu 100% sicher vermute aber folgendes: (liegt daran dass ich die methode length noch nie verwendet hab)

length wird dir anscheinend den wert 100 zurückgeben ohne zu überprüfen ob da überhaupt was drinnen steht, weil du ja das feld mit 100 einträgen initialisiert hast...btw warum nicht so gelöst, dass es zur laufzeit immer erweitert wird...also als liste zb
egal und da das dann so ist, greift es auf eine methode zu aber bei einem element das null ist...und so bekommst du deine null pointer exception
 
Ist das ganze Array mit Data gefüllt? Dann geht

Code:
    public int compareTo(Data o) {
        if (email == null || o.email == null) return -1; // oder 1, keine Lust das jetzt zu testen. xD
        return email.compareTo(o.email);
    }
 
Wenn Geschwindigkeit keine Rolle spielt, dann könntest du vor dem Sortieren einfach das Array neu erzeugen und nur die Einträge aus dem Quellarray füllen, die nicht null sind. Kannst auch vorher Zählen, wieviele Einträge wirklich gefüllt sind, bevor du dann das neue Array erstellst.
 
Zuletzt bearbeitet:
und warum nicht einfach eine liste vom typ data nehmen???
dann hat man das ganze problem nicht
 
Ich nehme an, dass der TE die Aufgabe bekommen hat SELBER zu sortieren und zwar mit BUBBLE SORT.

Das bedeutet, dass er Arrays.sort() nicht verwenden darf, weil er dann ja nicht selber sortiert.


Dann ist mir aufgefallen:
Wenn man selber mit BubbleSort sortiert, sollte man allerdings die Plätze der Elemente im Array tauschen und nicht die Inhalte der einzelnen Objekte mit Getter und Setter. Wenn das Objekt 100 Eigenschaften hat, dann kopiert man sonst sehr viel um...
 
Genau darin besteht die Aufgabe und ich finde es gut, dass dafür niemand eine Lösung gepostet hat, sondern vielmehr das drum herum geklärt wurde. Ich denke hier sind nun genügend Hilfestellungen gegeben worden damit er das selbst hinbekommen sollte.
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Zurück
Oben