Selection Sort Problem

NonPlusUltra

Mitglied
Hey brauch mal wieder eure hilfe^^

kann mir einer sagen was an mein Code falsch ist^^

es soll für ein Projekt ein SelectionSort implementiert werden, das genersich arbeiten soll.

laut eclipse soll der fehler beim compare liege

fehler:
The method compare(capture#10-of ?, capture#10-of ?) in the type Comparator<capture#10-of ?> is not applicable for the arguments (Object, Object)

com ist vom typ (Comparator<?>)
data ist vom typ (List<?>)

Beim Debuggen werd ich auch vom compare rausgeworfen

bin so ziemlich mit meinen latein am ende erkenn da einfach kein fehler liegt vielleicht auch dadran das es so spät ist^^



Java:
public <T> List<T> getData() {
		return (List<T>) data;
	}

	
	public Object getMax() {
		Object tempObj = this.data.get(0);

		if (this.com != null) {
			for (Object obj : this.data) {
				if (this.com.compare(obj, tempObj) > 0)
					tempObj = obj;

			}
		} else {
			for (Object obj : this.data) {
				if (((Comparable<Object>) obj).compareTo(tempObj) > 0)
					tempObj = obj;
			}
		}
		return tempObj;
	}

	
	public Object getMin() {
		Object tempObj = this.data.get(0);

		if (this.com != null) {
			for (Object obj : this.data) {
				if (this.com.compare(obj, tempObj) < 0)
					tempObj = obj;

			}
		} else {
			for (Object obj : this.data) {
				if (((Comparable<Object>) obj).compareTo(tempObj) < 0)
					tempObj = obj;
			}
		}
		return tempObj;
	}
 

xehpuk

Top Contributor
Bei [c]Comparator<?>[/c] hast du überhaupt keine Typinformation. Du kannst da nur
Code:
compare(null, null)
machen, was nicht sonderlich sinnvoll ist.
 

NonPlusUltra

Mitglied
Bei [c]Comparator<?>[/c] hast du überhaupt keine Typinformation. Du kannst da nur
Code:
compare(null, null)
machen, was nicht sonderlich sinnvoll ist.

sehe gerade der Comperator wächselt durch eine andere methode von typ Comparator<T> oder Comparator<?> = null

hilft mir das jetzt weiter^^ (den ich habs bis jetzt eigentlich nur auf der elmentaren ebene implementiert^^)


habs eben noch mal geteste wenn ich compare auskommentiere funktioniert das programm aber wird nunmal nicht alles sortiert
 

Landei

Top Contributor
Du kannst schon von der Typvariable T verlangen, dass sie Comparable ist:

Java:
class Foo<T extends Comparable<T>> {
  //jetzt kannst du hier compareTo für Ts verwenden.
}
 

NonPlusUltra

Mitglied
dies wurde schon hier gemacht das ist auch die Methode die com auf null oder auf <T> setzt


Java:
	@Override
	public <T extends Comparable<T>> void setData(Collection<T> arg0) {
		if (arg0 != null) {
			this.data = new Vector<T>(arg0);
			this.com = null;
		}
	}

	@Override
	public <T> void setData(Collection<T> arg0, Comparator<T> arg1) {
		if (arg0 != null && arg1 != null) {
			this.data = new Vector<T>(arg0);
			this.com = arg1;
		}
	}
 

Landei

Top Contributor
Die Klasse selbst ist also nicht generisch (nur die Methoden)? Ich denke, das ist ein DesignFehler:

"Hey, was bist du denn für eine Klasse?"
"Ich bin eine Container-Klasse!"
"Und was ist so in dir drin?"
"Keine Ahnung..."
 

NonPlusUltra

Mitglied
Genau das ist der Punkt der Comperator<T> ist schon vorgegeben also schon implementiert (nicht von mir^^)


was kann man denn machen hab schon versucht Object<T> zu intialisieren aber ist naturlich quatsch^^
 

Der Müde Joe

Top Contributor
Worin liegt den genau das Probelem?

Wenn ein Object Comparable implementiert, weiss es von sich aus wo es higehört.
Wenn man es über einen Comparator macht, muss der wissen, welches Objekt wohin gehört.

EDIT:
oder in Code ausgedrückt:
Java:
public static final <T extends Comparable<T>> T getMax(List<T> list) {
	if (list == null || list.isEmpty()) {
		return null;
	}

	T max = list.get(0);
	for (T t : list) {
		if (max.compareTo(t) < 0) {
			max = t;
		}
	}
	return max;
}

public static final <T> T getMax(List<T> list, Comparator<T> comparator) {
	if (comparator == null || list == null || list.isEmpty()) {
		return null;
	}

	T max = list.get(0);
	for (T t : list) {
		if (comparator.compare(max, t) < 0) {
			max = t;
		}
	}
	return max;
}
 
Zuletzt bearbeitet:

NonPlusUltra

Mitglied
Mein Problem ist das ich glaube das es richtig ist soll ja ein Objekt zuruck geben gibt auch ein Objekt zuruck


aber der Compiler meldet die ganze zeit das es falsch wäre (was es auch ist -.-)


kann ich denn den Comperator mit Comparable verknüpfen?
(man merkt das ich mit mein Latein am ende bin^^)

das einziege problem ist das ich den Comperator verwend muss!!!



EDIT: also der halbe code funktioniert nur das mit den Comperator funkt noch nicht
 
Zuletzt bearbeitet:

NonPlusUltra

Mitglied
auf denn Comperator selbst hab ich kein zugriff (glaub ich zumindest)



(werde noch den Kompletten Code im erste Post rein Edetieren)

Danke Der Müde Joe
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
Und was extends du da? Zeig mal.

EDIT:
die generics sind eigentlich eh für die Katz...aber so zB:
Java:
// auf wunsch entfernt...
 
Zuletzt bearbeitet:

NonPlusUltra

Mitglied
hab nur die class datei davon (haben eine Lib von dennen bekommen)

hab aber noch javadoc warte ich schreib es gerade hier rein



EDIT das hast ja garnet gebraucht es funktioniert Danke

kannst mir erklären wälche änderung du gemacht hast? ^^ aber DANNNNNNNNNNNNKE^^
 
Zuletzt bearbeitet:

Der Müde Joe

Top Contributor
>kannst mir erklären wälche änderung du gemacht hast?

- das extends muss wieder rein
- die beiden private wieder raus...


Wir haben einen Comparator von Typ ? und eine List vom Type ?
--> Keine Typinformationen da...also für was generics
Java:
            Comparator comparator = (Comparator) this.com; // <--- einfach nix generics
            for (Object obj : this.data) {
                if (comparator.compare(obj, tempObj) > 0) {
                    tempObj = obj;
                }
            }
 

Landei

Top Contributor
Generics wegzucasten ist nicht Sinn der Sache, das Design ist Schrott. Und ohne kompletten Code und Aufgabenstellung können wir nur raten, wie es richtig aussehen müsste.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
Marc111111111 Selection Sort in Java?? Java Basics - Anfänger-Themen 6
J Fehler im Selection Sort Java Basics - Anfänger-Themen 5
B 2 dimensionales Array: Selection Sort Java Basics - Anfänger-Themen 4
J Liste von Integers mit Selection Sort sortieren Java Basics - Anfänger-Themen 3
B Selection sort Java Basics - Anfänger-Themen 33
E Selection Sort für beliebige Objekte Java Basics - Anfänger-Themen 24
U Selection Sort schnellere Variante Java Basics - Anfänger-Themen 17
T Selection-Sort-Algorithmus Java Basics - Anfänger-Themen 9
I Selection-Sort // Array *help* Java Basics - Anfänger-Themen 2
J Selection Sort in Liste implementieren Java Basics - Anfänger-Themen 3
0 Selection Sort funktioniert nicht. Java Basics - Anfänger-Themen 3
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
Salo JTabel Selection listener Bsp. Java Basics - Anfänger-Themen 3
M The Selection cannot be launched... Java Basics - Anfänger-Themen 4
S Selection does not contain a main type! Java Basics - Anfänger-Themen 5
S Selection does not contain a main type Java Basics - Anfänger-Themen 12
T selection method does not contain a main type Java Basics - Anfänger-Themen 7
F JTable speichern, Fehler bei Selection Java Basics - Anfänger-Themen 3
K Erste Schritte selection does not contain a main type Java Basics - Anfänger-Themen 3
J "this selection cannot be launched..." eclipse fehlermeldung Java Basics - Anfänger-Themen 7
V Eclipse "Selection does not contain a main type" Java Basics - Anfänger-Themen 13
I deselect oder Selection aufheben Java Basics - Anfänger-Themen 2
B Selection does not contain a main type Java Basics - Anfänger-Themen 2
S jList Multiple Selection mit Klick Java Basics - Anfänger-Themen 2
T Auf Selection warten Java Basics - Anfänger-Themen 7
R JPopupMenu + single selection Java Basics - Anfänger-Themen 8
emreiu Formatiertes Output bei Insertion Sort Java Basics - Anfänger-Themen 6
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
Tw1Z Erste Schritte Sort in java Java Basics - Anfänger-Themen 2
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
X Collections.sort als Lambda Java Basics - Anfänger-Themen 14
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
L Insertion Sort bei zweidimensionalem Array Java Basics - Anfänger-Themen 7
G Insertion Sort mit Aray Java Basics - Anfänger-Themen 5
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
B Collections.sort mit zwei Bedingungen? Java Basics - Anfänger-Themen 4
M Collection.sort sortiert nicht Java Basics - Anfänger-Themen 7
CptK Best Practice Merge-Sort als Baum darstellen Java Basics - Anfänger-Themen 3
P Java Bubble Sort,Anfängerfehler Java Basics - Anfänger-Themen 4
S Methoden Sort Array Java Basics - Anfänger-Themen 9
I Erste Schritte sort() vs. sort() Java Basics - Anfänger-Themen 9
BadBat ArrayList<String> sort by last word Java Basics - Anfänger-Themen 8
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
O Insertion Sort Java Basics - Anfänger-Themen 4
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
O Listen sort-Methode Java Basics - Anfänger-Themen 1
M Quick Sort Java Basics - Anfänger-Themen 4
V Heap-Sort Java Basics - Anfänger-Themen 0
M Methoden Quick Sort Java Basics - Anfänger-Themen 5
T array.sort mit zwei Kriterien Java Basics - Anfänger-Themen 8
S Liste und Bubble Sort Java Basics - Anfänger-Themen 4
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
S Fehler bei Arrays.sort(array) - Methode!? Java Basics - Anfänger-Themen 3
P collections.sort Java Basics - Anfänger-Themen 2
B Arrays.sort Java Basics - Anfänger-Themen 4
P schneller Sort ? Java Basics - Anfänger-Themen 2
S Bubble Sort Java Basics - Anfänger-Themen 5
B Merge-Sort Analyse Java Basics - Anfänger-Themen 27
K Array.sort() Java Basics - Anfänger-Themen 12
H Etwas wie sort() / sorted() in JAVA-Collections? Java Basics - Anfänger-Themen 5
F Methoden Insert Sort Fehler Java Basics - Anfänger-Themen 10
P Ein sort problem Java Basics - Anfänger-Themen 6
S Bubble Sort Algorithmus Java Basics - Anfänger-Themen 3
Spin sort tokens - somebody knows a better solution? Java Basics - Anfänger-Themen 13
B Strings alphabentisch sortieren mit Hilfe von insertion sort Java Basics - Anfänger-Themen 6
P Array.sort // Arrays ausgeben Java Basics - Anfänger-Themen 21
S String sortieren mit Interface und sort() Java Basics - Anfänger-Themen 6
F Arrays.sort( ) Problem Java Basics - Anfänger-Themen 14
Dit_ Collections.sort(..); | Anwendung Java Basics - Anfänger-Themen 4
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
D Insertion sort auf eine liste Java Basics - Anfänger-Themen 4
X Counting Sort Java Basics - Anfänger-Themen 5
P Problem mit Insertion Sort Java Basics - Anfänger-Themen 4
G Quick Sort - bin ich zu blöd? Java Basics - Anfänger-Themen 7
D sort.exe über java aufrufen Java Basics - Anfänger-Themen 2
V Bubble Sort endet in Endlosschleife Java Basics - Anfänger-Themen 4
S Collection<Typ> sort Java Basics - Anfänger-Themen 4
hedges Insertion Sort Algorithmus problem Java Basics - Anfänger-Themen 18
N Collections Sort ArrayList<> Java Basics - Anfänger-Themen 7
K Arrays.sort() Java Basics - Anfänger-Themen 2
S Collection Sort Java Basics - Anfänger-Themen 15
O Arrays und sort Java Basics - Anfänger-Themen 4
G sort(int[] a, int fromIndex, int toIndex) Java Basics - Anfänger-Themen 5
F Klassenmethode Arrays.sort(Object[]a) Java Basics - Anfänger-Themen 2
H Bubble sort array Java Basics - Anfänger-Themen 12
M Bubble-Sort und null Werte Java Basics - Anfänger-Themen 4
G Zählen von Zuweisungen bei Bubble Sort Java Basics - Anfänger-Themen 3
I Methode Arrays.sort(Object[] arr) Java Basics - Anfänger-Themen 19
K compareTo in Verbinug mit Arrays.sort() Java Basics - Anfänger-Themen 4
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
U Array.sort auf variable Array-Größe anwenden Java Basics - Anfänger-Themen 3
D Mit java.util.Arrays.sort die negativen Zahlen hinten Java Basics - Anfänger-Themen 4
D Collections.sort() frage Java Basics - Anfänger-Themen 6
V Sortieren mit Bubble-Sort Java Basics - Anfänger-Themen 5
G Arrays.sort() will nicht sortieren Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben