Hallo an alle!
Ich stehe grade vor einem kleinen Problem. Ich möchte Kalendereinträge (Termine) in einem TreeSet speichern (Termine dürfen nicht doppelt vorkommen) und dabei habe ich als Anfänger ein paar Problemchen :
Desweiteren habe ich eine andere Klasse (anderes Packet) für das TreeSet:
Die Klasse Termin wird importiert und die Termine sollen in dieser Klasse bearbeitet werden. (Neuer Termin / Ändern / Löschen usw....)
Ich bin als Newbie für alle Kommentare sehr dankbar da ich mich erst noch in die Thematik mit dem Vergleichen (Comparable/Comparator) und der ganzen TreeSet-Geschichte einarbeiten muss.
Thx!
hollesepp
Ich stehe grade vor einem kleinen Problem. Ich möchte Kalendereinträge (Termine) in einem TreeSet speichern (Termine dürfen nicht doppelt vorkommen) und dabei habe ich als Anfänger ein paar Problemchen :
Code:
package termin;
import java.util.*;
public class Termin implements Comparable<Termin>{ //Irgendwas mache ich hier falsch - Eclipse sagt ich soll Methode compareTo implementieren?!
// Variablen die einen Termin beschrieben
String ort;
String betreff;
int dauerStunden;
int dauerMinuten;
GregorianCalendar termin = new GregorianCalendar();
// Getter und Setter Methoden
public int getDauerStunden() {
return dauerStunden;
}
public void setDauerStunden(int dauerStunden) {
this.dauerStunden = dauerStunden;
}
public int getDauerMinuten() {
return dauerMinuten;
}
public void setDauerMinuten(int dauerMinuten) {
this.dauerMinuten = dauerMinuten;
}
public String getOrt() {
return ort;
}
public void setOrt(String ort) {
this.ort = ort;
}
public String getBetreff() {
return betreff;
}
public void setBetreff(String betreff) {
this.betreff = betreff;
}
// Eigene getter und setter methode für die Variable termin
public void datumSetzen (int tag, int monat, int jahr , int stunde , int minute)
{
this.termin.set(Calendar.YEAR, jahr);
this.termin.set(Calendar.MONTH, monat);
this.termin.set(Calendar.DAY_OF_MONTH, tag);
this.termin.set(Calendar.HOUR_OF_DAY, stunde);
this.termin.set(Calendar.MINUTE, minute);
this.termin.set(Calendar.SECOND, 0);
}
public Calendar datumHolen()
{
return termin;
}
//Hier bin ich mir nicht so sicher, ob das richtig implementiert ist.
public int compareTo(Termin vgltermin){
if(termin < vgltermin.datumHolen()) return -1;
if(termin > vgltermin.datumHolen()) return 1;
}
}
Desweiteren habe ich eine andere Klasse (anderes Packet) für das TreeSet:
Die Klasse Termin wird importiert und die Termine sollen in dieser Klasse bearbeitet werden. (Neuer Termin / Ändern / Löschen usw....)
Code:
package operationen;
import termin.Termin;
import java.util.*;
public class Terminoperatioenen {
public void terminAnlegen (int stunde, int minute , int tag ,
int monat , int jahr , String betreff,
String ort, int dStunde , int dMinute) {
// Neues Terminobjekt erstellen
Termin neuTermin = new Termin();
// Übergebene Daten dem neuen Termin zuordnen
neuTermin.datumSetzen(tag, monat, jahr, stunde, minute) ;
neuTermin.setBetreff(betreff);
neuTermin.setOrt(ort);
neuTermin.setDauerMinuten(dMinute);
neuTermin.setDauerStunden(dStunde);
//speichern(neuTermin); //im TreeSet sortiert abspeichern
//Exceptions
}
//Hier Termin sortiert speichern mit TreeSet
public void speichern(Termin termin){
Set set = new TreeSet(); //Kann man das hier so machen, oder
set.add(termin); //fehlt da noch was. Ich bin ein bischen ratlos...
}
}
Ich bin als Newbie für alle Kommentare sehr dankbar da ich mich erst noch in die Thematik mit dem Vergleichen (Comparable/Comparator) und der ganzen TreeSet-Geschichte einarbeiten muss.
Thx!
hollesepp