comparable funktion & reverse funktion

Status
Nicht offen für weitere Antworten.

m1n1mal1st

Neues Mitglied
Hallo liebes Forum,

könnt ihr mir sagen was mit einer comparable-funktion gemeint ist ("eine comparable-funktion die ein minimum raussucht". Außerdem müsste ich auch wissen was eine reverse funktion ist???:L oder was damit gemeint sein könnte.
Wär nett, wenn mir da jemand helfen könnte.

Mfg
 
S

Spacerat

Gast
Function Reverse... aka UNDO, zu deutsch Rückängig. Vorraussetzung: Ein Objekt hat für jede seiner Methoden eine entsprechende Umkehrmethode (z.B. "read() -> write()").
Solch' ein Objekt speichert alle Aufrufe auf seine Methoden bis auf "undo()" sammt aller Parameter in einem Stack-Object. Beim Aufruf von "undo()" werden nun die Einträge von Stack geholt und die jeweiligen Umkehrmethoden aufgerufen. Mit "undo(int steps)" lässt sich sogar die Anzahl der Schritte die man rückgängig machen will bestimmen. Natürlich hat das nichts mit nur einer einzelnen Methode zu tun sondern beschreibt eben jene Funktionalität einer Klasse.
 
Zuletzt bearbeitet von einem Moderator:

m1n1mal1st

Neues Mitglied
hmmm, ja gut danke schon mal für die Antworten, werd den Kollege nnochmal frage nwas gena uer damit meinte.
Schreiben nächste Woche eine Prüfung und diese beiden Sachen solten dran kommen.

Gruß
 

0x7F800000

Top Contributor
Function Reverse... aka UNDO, zu deutsch Rückängig. Vorraussetzung: Ein Objekt hat für jede seiner Methoden eine entsprechende Umkehrmethode (z.B. "read() -> write()").
Solch' ein Objekt speichert alle Aufrufe auf seine Methoden bis auf "undo()" sammt aller Parameter in einem Stack-Object. Beim Aufruf von "undo()" werden nun die Einträge von Stack geholt und die jeweiligen Umkehrmethoden aufgerufen. Mit "undo(int steps)" lässt sich sogar die Anzahl der Schritte die man rückgängig machen will bestimmen. Natürlich hat das nichts mit nur einer einzelnen Methode zu tun sondern beschreibt eben jene Funktionalität einer Klasse.
Hey, interessant, so genau hab ich's mir eigentlich nie überlegt^^ thx :)

Aber ich denke da eher an irgendwas in die richtung "gegeben sei ein beliebiger comparator, basteln sie daraus einen comparator, der die Folge in umgekehrter Reihenfolge sortiert" oder sowas in der art... Aber da der OP ja nichts konkretes gesagt hat... :bahnhof:
 
S

Spacerat

Gast
@0x7F800000: Ob das Sinn macht? Für Compareable bedeutet kleiner "-1", gleich "0" und grösser "+1". Kann ja sein, das da ein ähnlicher Kontrakt wie bei "equals() und hashCode()" hintersteckt (eben einer, welchen man aus diesem und jenem Grunde einhalten sollte). Wenn man's dann umgedreht haben möchte sollte man sich also eben einen wie du schon sagtest Comparator (DescendingComparator) basteln. Kann ja sein, das die Fragestellung daraufhin Abzielt, das Comparable dafür gar nicht verwendet werden dürfte. ...mist... schwammige Fragen verleiten zu Spekulationen... was anderes war das mit "UNDO" auch nicht.
 

SchonWiederFred

Bekanntes Mitglied
gegeben sei ein beliebiger comparator, basteln sie daraus einen comparator, der die Folge in umgekehrter Reihenfolge sortiert
Hm, interessant. Sowas in der Art?
Code:
import java.util.Arrays;
import java.util.Comparator;

public class Main
{
	public static void main(String[] args)
	{
		String[] a = { "Hallo", "Welt", "Teststring", "abc", "Wurst", "Käse", "Szenario" };
		System.out.println(Arrays.toString(a));

		Arrays.sort(a, new NachLaenge());
		System.out.println(Arrays.toString(a));

		Arrays.sort(a, new Reverse<String>(new NachLaenge()));
		System.out.println(Arrays.toString(a));
	}
}

class NachLaenge implements Comparator<String>
{
	public int compare(String o1, String o2)
	{
		int delta = o1.length() - o2.length();
		if (delta == 0) delta = o1.compareTo(o2);
		return delta;
	}
}

class Reverse<T> implements Comparator<T>
{
	private final Comparator<T> comp;

	public Reverse(Comparator<T> comp)
	{
		this.comp = comp;
	}

	public int compare(T o1, T o2)
	{
		return comp.compare(o2, o1);
	}
}
Kriegt man das hin, dass man beim Aufruf von new Reverse() nicht noch extra <String> hinzuschreiben muss, weil das ja durch Konstruktorparameter sowieso klar ist? Oder sind Generics nicht so mächtig?
 

0x7F800000

Top Contributor
Hm, interessant. Sowas in der Art?
zum Beispiel, ja...

Kriegt man das hin, dass man beim Aufruf von new Reverse() nicht noch extra <String> hinzuschreiben muss, weil das ja durch Konstruktorparameter sowieso klar ist? Oder sind Generics nicht so mächtig?
Was heißt "nicht so mächtig"? Du hast dir hier 1 aus 100 Fällen ausgesucht, wo die Angabe der Klasse überflüssig ist, sollen die Sprachentwickler jetzt für jeden solchen Spezialfall eine eigene Syntax entwickeln, und sich 7568327 Ausnahmeregelungen ausdenken, wo was angegeben werden soll, und wo nicht?

Hätte ja auch irgendwie so aussehen können:
[highlight=Java]
class A{}
class B extends A{}
class C extends B{}

class Reverse<T> implements Comparator<T>
{
private final Comparator<? super T> comp;

public Reverse(Comparator<? super T> comp)
{
this.comp = comp;
}

public int compare(T o1, T o2)
{
return comp.compare(o2, o1);
}
}

...
Comparator<? super C> c=new Reverse<B>(new Comparator<A>(){
@Override
public int compare(A arg0, A arg1) {
// TODO Auto-generated method stub
return 0;
}
});
[/highlight]
Welche eckige Klammern soll man denn da weglassen, wenn überall was anderes drinsteht? Ob's konkret hier großartig Sinn macht ist eine andere frage, die Sprache ermöglicht jedenfalls ganz allgemein solche Sachen zu formulieren, ohne irgendwelche spezialfälle...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J HashSet mit Comparable sortieren Java Basics - Anfänger-Themen 13
J Interface Comparable<T> Java Basics - Anfänger-Themen 10
L Interface & Comparable Java Basics - Anfänger-Themen 15
I Generics und Comparable Java Basics - Anfänger-Themen 14
O Comparable Generic Java Basics - Anfänger-Themen 24
R Quicksort mit Interface Comparable Java Basics - Anfänger-Themen 6
Kornblume Comparable Interface für Objektvergleiche nutzen Java Basics - Anfänger-Themen 15
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
N Comparable bzw Comparator Java Basics - Anfänger-Themen 5
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
R Interface Eigene Objekte in Listen sortieren mit Interface Comparable Java Basics - Anfänger-Themen 5
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
Shizmo Frage zu Comparable Java Basics - Anfänger-Themen 4
L LinkedList Comparable < > MEHRFACH implementieren? Java Basics - Anfänger-Themen 3
N Datentypen LocalDate Generic Comparable Java Basics - Anfänger-Themen 2
S Generics und Comparable Interface Java Basics - Anfänger-Themen 5
N Compiler-Fehler Comparable / compareTo implementierung Java Basics - Anfänger-Themen 2
F Comparable mit String Java Basics - Anfänger-Themen 5
M Comparable und Comparator nicht ganz klar Java Basics - Anfänger-Themen 1
F Objekte sortieren mit Comparable Java Basics - Anfänger-Themen 9
R Mehrere Interfaces(Comparable, ...) Java Basics - Anfänger-Themen 2
B Comparable & Comparator Java Basics - Anfänger-Themen 9
C Comparable Interface Java Basics - Anfänger-Themen 8
T Interface Interface Comparable Problem... Java Basics - Anfänger-Themen 2
H Interface Comparable Verständnisfrage Java Basics - Anfänger-Themen 6
B Object "Method" in TreeSet, Fehler beim Vergleichen/Comparable Java Basics - Anfänger-Themen 9
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
J Probleme mit Comparable, compareTo() Java Basics - Anfänger-Themen 2
A Comparable interface Java Basics - Anfänger-Themen 26
I Interface Comparable für Server-Item-Interface Java Basics - Anfänger-Themen 12
P Comparable und Generics Java Basics - Anfänger-Themen 6
S comparable und equals Java Basics - Anfänger-Themen 7
S Unterschied Comparable und Comparator Java Basics - Anfänger-Themen 2
M Frage zum Interface Comparable Java Basics - Anfänger-Themen 3
S Comparable Java Basics - Anfänger-Themen 4
H Comparable und Comparator Java Basics - Anfänger-Themen 22
S instanceof Comparable...geht nicht? Java Basics - Anfänger-Themen 20
H Mehrere Comparable Java Basics - Anfänger-Themen 4
S Comparator / Comparable ? Java Basics - Anfänger-Themen 3
D Comparable - Bucketsort / Radixsort? Java Basics - Anfänger-Themen 2
B Mehrere Werte mit Comparable sortieren Java Basics - Anfänger-Themen 14
S String umwandeln in Comparable Java Basics - Anfänger-Themen 6
R Comparable Interface Funktionalität selbst programmieren? Java Basics - Anfänger-Themen 3
A Interface Comparable Java Basics - Anfänger-Themen 2
J Comparable Java Basics - Anfänger-Themen 9
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
B Wann Comparator und wann Comparable Java Basics - Anfänger-Themen 6
frau-u Wie vergleicht Comparable Java Basics - Anfänger-Themen 2
M Comparable - Bedingung erzwingen Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
FunkyPhil94 Wert in einer Lambda Funktion erhöhen Java Basics - Anfänger-Themen 3
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
nelsonmandela Problem bei Ausgabe einer Switch - Case Funktion Java Basics - Anfänger-Themen 5
W GUI - JButton ohne Funktion? Java Basics - Anfänger-Themen 24
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
R Buttons ohne Funktion Java Basics - Anfänger-Themen 2
I Generische Funktion Java Basics - Anfänger-Themen 3
E Pervasive PSQL insert funktion geht nicht Java Basics - Anfänger-Themen 9
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
T Log Funktion erstellen Java Basics - Anfänger-Themen 1
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
H Den Wert einer rekursiven Funktion bestimmen Java Basics - Anfänger-Themen 5
J In main() Datei geöffnet, von anderer Funktion beschreiben Java Basics - Anfänger-Themen 3
M toDouble Funktion Java Basics - Anfänger-Themen 3
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
X Ackermannsche Funktion Java Basics - Anfänger-Themen 32
F Arrays: Mathematische Funktion Java Basics - Anfänger-Themen 19
P Dezimal zu Hexadezimalzahl Funktion Java Basics - Anfänger-Themen 5
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
M Arrays in Funktion Kopieren und Bearbeiten Java Basics - Anfänger-Themen 4
B Funktion mit mehreren Rückgabewerten aka Prozeduren? Java Basics - Anfänger-Themen 12
J Dynamisches Array durch split()-Funktion? Java Basics - Anfänger-Themen 3
D Funktion nur 1 Rueckgabewert Java Basics - Anfänger-Themen 9
M Wie lang eine Funktion/Methode? Java Basics - Anfänger-Themen 51
N den inhalt eines array per funktion ausgeben Java Basics - Anfänger-Themen 8
R Ackermann Funktion Java Basics - Anfänger-Themen 2
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
N Abfragen eines Textes aus einem JTextField in Java, Funktion, CardLayout, Java Basics - Anfänger-Themen 2
T Rekursion Warum bricht meine Funktion nicht ab Java Basics - Anfänger-Themen 4
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
E Contain-funktion überlisten Java Basics - Anfänger-Themen 4
J Division ohne Arithmetische Funktion Java Basics - Anfänger-Themen 2
S Funktion in Klasse auslagern Java Basics - Anfänger-Themen 4
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
S Gibt es eine Funktion, die gewissermaßen eine Reihe von instanceOf() vereinheitlicht? Java Basics - Anfänger-Themen 19
D Nullstellen einer Funktion 3. Grades mit Horner Schema Java Basics - Anfänger-Themen 6
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
D Funktion gibt Dimension zurück Java Basics - Anfänger-Themen 11
A Rekursion Funktion in eine Iterativ Funktion umwandeln Java Basics - Anfänger-Themen 9
T static String Variable wird nur beim ersten aufruf durch eine Funktion geändert. Java Basics - Anfänger-Themen 16
B Zugriffe in einer Klasse / Funktion Java Basics - Anfänger-Themen 9
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
J Array innerhalb einer Funktion mehrfach iniatilisieren Java Basics - Anfänger-Themen 4
T Lambda-Funktion bei Binärbäumen Java Basics - Anfänger-Themen 13
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben