Externe Comperator-Klasse

Doom Mortal

Mitglied
Hallo liebe Leute ich komme leider mit den Ausführungen meines Lehrers nicht weiter.
Das Stichwort meines Lehrers ist eine externe Comperator-Klasse.
Er möchte, das habe ich verstanden den Prozess von ausgelagerten Klassen bis hin zu internen Klassen und dann zu den Lamda ausdrücken schlagen. Ich scheitere aber an der Implementierung der externen Comperator Klasse wie muss ich diese Importen. In der externen Comperator Klasse habe ich die Funktion compare diese soll durch die Funktion in der Anwendungsklasse genutzt werden.
Kann mir jemand helfen ??:(

Fachklasse
Java:
package film;

public class Film implements Comparable<Film>{
  
  private String titel;
  private int jahr;
  private Integer laenge;
  
  public Film (String titel, int jahr, int laenge) {
    this.titel = titel;
    this.jahr = jahr;
    this.laenge = laenge;
    
  }
  
  public String getTitel(){
    return titel;
  }
  
  public int getJahr(){
    return jahr;
  }
  
  public int getLaenge(){
    return laenge;
  }
  
  @Override
  public String toString() {
    return titel + ": " + jahr + " . Laenge: " + laenge;
  }
  
  //@Override
  //public int compareTo(Film anderer) {
    
   // return laenge.compareTo(anderer.laenge);
  //}
  
  
  
  
  
  
}

Externe Comperator-Klasse:
Java:
import java.util.*;
import film.Film;

public class FilmSortierer implements java.util.Comparator<Film> {
  
  @Override
  public int compare(Film dieser, Film anderer) {
    return dieser.getLaenge().compareTo(anderer.getLaenge());
  }
}

Anwendungsklasse (anonymes Comperator Objekt)
Java:
import film.Film;
import film.FilmSortierer;
import javax.swing.*;
import java.util.*;

public class FilmAusgabe {
  
  public static void main(String[] args){
    
    Film[] myArray = new Film[4];
    
    myArray[0] = new Film("Star Wars: Episode I - Die dunle Bedrohung",1999,131);
    myArray[1] = new Film("Star Wars: Episode III - Die Rache der Sith",2005,134);
    myArray[2] = new Film("Star Wars: Episode IV - Eine neue Hoffnung",1977,116);
    myArray[3] = new Film("Star Wars: Episode V - Das Imperium schlägt zurück",1980,124);
    
    Arrays.sort(myArray, new FilmSortierer());
    
    String ausgabe = "";
    for (int i=0;i<=myArray.length-1 ;i++ ) {
      ausgabe = ausgabe + myArray[i].getTitel() + ", " + myArray[i].getJahr() + ", " + myArray[i].getLaenge() + "\n";
    } // end of for
    
    
    JOptionPane.showMessageDialog(null, ausgabe);
    
    
    
  }
  
  
  
  
  
}
 

njans

Top Contributor
Wie du den importen sollst? Ich verstehe die Frage nicht. Einfach das passende Package in den import Befehl...?
 

Doom Mortal

Mitglied
Erstmal danke für deine Hilfe das Problem zu verstehen. Ich habe hier ein kleines Bild vorbereitet Klick das mein Problem etwas näher beschreibt.

Methoden die in der Comperator-Klasse sind wie zum Beispiel dieser.getName() sind sind bestandteil der Fachklasse oben. Ich müsste jetzt eigentlich die obere Fachklasse importieren um zugrif auf die Methoden zu haben. Aber wie mache ich das ?
Da die Obere und die untere Klasse im selben Package Verzeichnis liegen
 

kaoZ

Top Contributor
In deiner Comperator Klasse gibt es genau eine Methode ?!

Ich glaube wir verstehen nicht ganz worauf du hinaus möchtest, du implementierst in der Film klasse Compareable, heißt diese klasse ist über einen Comperator verlgeichbar, da deine Methode im Coperator nicht statisch ist musst du diesen Instanzieren.

Ich habe hier auf richtige Implementierung der compareTo und compare Methoden verzichtet und führe lediglich einen Referenzvergleich durch , es geht ja nur darum das du siehst wie du die Klassen benutzt.


Film :

Java:
public class Film implements Comparable<Film> {

	@Override
	public int compareTo(Film o) {
		if (this == o) {
			return 1;
		}
		return 0;
	}

  //....usw..
}

FilmComparator :

Java:
import java.util.Comparator;

public class FilmComparator implements Comparator<Film>{

	@Override
	public int compare(Film o1, Film o2) {
		if (o1 == o2) {
			return 1;
		}
		return 0;
	}

}

Anwendungsklasse :

Java:
public class FilmTest {
	
	public FilmTest() {
		// TODO Auto-generated constructor stub
	}
	
	public static void main(String[] args) {
		Film one = new Film(); // Film erstellen
		Film two = new Film(); // anderen Film erstellen
		
		FilmComparator comp = new FilmComparator(); //Comparator erstellen
		
		System.out.println(comp.compare(one, two)); //Referenzen vergleichen
		
		//oder auch einfach 
		
		System.out.println(one.compareTo(two)); //ohne Comparator
	}

}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
S Maven und externe Library Java Basics - Anfänger-Themen 2
tom.j85 Externe Rest API konsumieren Java Basics - Anfänger-Themen 9
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
W Externe class in Eclipse importieren Java Basics - Anfänger-Themen 0
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
Hijo2006 Neue externe Klasse einbinden Java Basics - Anfänger-Themen 13
S Klassen Externe Klasse in ein Projekt mit einbinden Java Basics - Anfänger-Themen 7
T Externe Methoden aufrufen Java Basics - Anfänger-Themen 3
M Externe .jar in Sublime einbinden Java Basics - Anfänger-Themen 5
E Externe Library .zip Datei importieren Java Basics - Anfänger-Themen 3
D Externe Eeite beim Mousover anzeigen Java Basics - Anfänger-Themen 0
U Externe Library im non runnable jar File im eclipse Java Basics - Anfänger-Themen 1
S externe Datei erstellen, oeffnen, bearbeiten Java Basics - Anfänger-Themen 2
S komponente über externe klasse zufügen Java Basics - Anfänger-Themen 13
D Externe Libs in Jar Java Basics - Anfänger-Themen 2
S externe Webseiten füllen Java Basics - Anfänger-Themen 5
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
T Sichtbarkeiten und externe Klasse Java Basics - Anfänger-Themen 33
N Jar-File soll externe class-Datei benutzen Java Basics - Anfänger-Themen 8
S Externe Bibliothek zu Resources hinzufügen? Java Basics - Anfänger-Themen 5
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
V Input/Output Plattform unabhängig auf externe Dateien zugreifen Java Basics - Anfänger-Themen 4
P Threads Thread und Zugriff auf externe Methode beenden Java Basics - Anfänger-Themen 4
N Klassen externe .class einbinden Java Basics - Anfänger-Themen 9
F Input/Output Wie externe Datei NICHT mit dem Standardprogramm öffnen? Java Basics - Anfänger-Themen 3
J Zugriff von main-Klasse auf externe Klassen Java Basics - Anfänger-Themen 51
T externe Datei fest an Projekt binden Java Basics - Anfänger-Themen 2
K Klassen externe JAR in Programm einbinden Java Basics - Anfänger-Themen 5
E externe .txt Datei mit Scanner einlesen Java Basics - Anfänger-Themen 7
X Extrahieren in Externe Klasse Funktioniert nicht Java Basics - Anfänger-Themen 6
Steve5000 Externe Batch-Datei starten und anwendung beenden?! Java Basics - Anfänger-Themen 4
L Externe Dateien, wohin? Java Basics - Anfänger-Themen 7
C OOP Externe Klasse erweitern (ohne Vererbung!!) Java Basics - Anfänger-Themen 8
T externe Programme pipen Java Basics - Anfänger-Themen 2
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
P Externe IP ermitteln? Java Basics - Anfänger-Themen 5
-horn- Externe Lib: JavaSCI richtig einbinden? Java Basics - Anfänger-Themen 5
I externe JAVA-Schnittstelle einbinden Java Basics - Anfänger-Themen 2
A Externe Klassen Laden und ausführen Java Basics - Anfänger-Themen 12
P externe JARs integrieren Java Basics - Anfänger-Themen 9
Y Applet lokal executable machen, externe Files inkludieren Java Basics - Anfänger-Themen 8
C externe Klassen in Projekt einbinden Java Basics - Anfänger-Themen 10
I Listenerklassen in externe Dateien auslagern? Java Basics - Anfänger-Themen 7
G Intern auf externe IP zugreifen? Java Basics - Anfänger-Themen 7
S externe Klassen Java Basics - Anfänger-Themen 3
M Parameterübergabe an externe JAR-Datei? Java Basics - Anfänger-Themen 2
Schandro Externe Bibliothek OHNE IDE benutzen Java Basics - Anfänger-Themen 5
B Externe .exe-Dateien starten +Runtime Java Basics - Anfänger-Themen 6
W Kann in meiner Jar nicht auf externe Jar zugreifen Java Basics - Anfänger-Themen 4
G zugriff auf festplatte / externe festplatten Java Basics - Anfänger-Themen 12
T Externe Datei aufrufen Java Basics - Anfänger-Themen 6
T Externe JAR datei in eigene? Java Basics - Anfänger-Themen 2
S externe Datei unformatiert einlesen & in double konverti Java Basics - Anfänger-Themen 2
B Paint(Component) und externe Objekte Java Basics - Anfänger-Themen 6
S per Kommandozeile compilieren: Problem: externe Jars einbind Java Basics - Anfänger-Themen 16
D Externe .jar in Eclipse nutzen Java Basics - Anfänger-Themen 3
F Externe Batch Datei aufrufen Java Basics - Anfänger-Themen 5
G Auf externe Resourceb zugreifen Java Basics - Anfänger-Themen 6
S externe URL öffnen und in Variable speichern. Java Basics - Anfänger-Themen 9
L Externe *.jar verwenden (ohne IDE) Java Basics - Anfänger-Themen 9
G JAR: Externe Dateien zur Laufzeit aufrufen Java Basics - Anfänger-Themen 12
I Wie eine externe Funktion rufen? Java Basics - Anfänger-Themen 11
G Externe Klassen mit ausliefern Java Basics - Anfänger-Themen 4
J Anfängerfrage: wie externe Dateien importieren? Java Basics - Anfänger-Themen 5
F Externe Datei aufrufen Java Basics - Anfänger-Themen 3
B Pfad für eine externe Klasse Java Basics - Anfänger-Themen 4
V Auf externe MySQL DB connecten? Java Basics - Anfänger-Themen 6
M Externe Klasse einbinden Java Basics - Anfänger-Themen 5
D Projekt als jar exportieren: Wie externe jars einbauen? Java Basics - Anfänger-Themen 5
A externe Library wird nicht gefunden Java Basics - Anfänger-Themen 4
K externe jar einbinden Java Basics - Anfänger-Themen 2
T Externe Api einbinden Java Basics - Anfänger-Themen 4
F externe programme ueber eine string starten Java Basics - Anfänger-Themen 2
J String in externe Datei speichern Java Basics - Anfänger-Themen 2
N wie externe bibliotheken einbinden? Java Basics - Anfänger-Themen 2
S externe lib´s in welchen ordner packen? Java Basics - Anfänger-Themen 6
H Zugriff auf externe Variable Java Basics - Anfänger-Themen 10
G Externe Klassen einbinden Java Basics - Anfänger-Themen 4
S Befehle an externe Programme Java Basics - Anfänger-Themen 4
P Externe Klassen Problem - Eclipse Java Basics - Anfänger-Themen 4
N ArrayList<ArrayList> sortieren - hilfe bei Comperator Java Basics - Anfänger-Themen 6
S problem mit sortierung interface comperator Java Basics - Anfänger-Themen 11
I @Inject in normaler Klasse? Java Basics - Anfänger-Themen 4
P Enum oder normale Klasse? Java Basics - Anfänger-Themen 10
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
P Wie kann ich meine Keylistener Klasse unterscheiden lassen, von welcher "Quelle" der Input kommt? Java Basics - Anfänger-Themen 2
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
Amina556 Eigene Klasse definieren Java Basics - Anfänger-Themen 9
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
M Klasse in Runden Klammern bei Objektimplementierung Java Basics - Anfänger-Themen 4
J Klassen Klasse als Komponententyp bei Feldern Java Basics - Anfänger-Themen 2
J Klassen Instanzen einer Klasse in einer anderen unabhängigen Klasse nutzen Java Basics - Anfänger-Themen 4
Detlef Bosau nichtstatische Innere Klasse, this Pointer. Java Basics - Anfänger-Themen 47
C Unbekannte Methode add bei Klasse die JTree erweitert Java Basics - Anfänger-Themen 14
Soranix Erste Schritte Struktur als Anfänger // Von einer Klasse auf ein Objekt einer anderen Klasse zugreifen. Java Basics - Anfänger-Themen 6
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben