Statt HashSet die TreeSet verwenden

lernen.2007

Erfahrenes Mitglied
Hallo Leute,

ich will statt HashSet wo die Elemente unsortiert eingefuegt werden, will ich eine TreeSet verwenden.Aber wenn ich es so implementiere:

private Set tickets = new TreeSet();

Dann wird eine Exception rausgeworfen.Wo liegt das Fehler?

Danke
 
Ich kenn mich zwar mit Hashtables nicht aus, aber auf den ersten blick würde ich sagen, dass
du in ne Variable vom Typ Set keine Instanz von TreeSet() legen kannst, korrigiere mich, wenn ich falsch liege.
Das zweit könnte sein, das der Code in einer Methode steht und da musst du nur das private weg-
lassen, da tickets dann kein Feld einer Klasse sondernm eine echte Variable ist.

Grüße Master
 
Also ich kann da auch so keinen Fehler entdecken, poste mal mehr Code und welche Exception er wirft.
mfg
elmato

//edit
Code:
public static void main(String[] args) {
		Set set  = new TreeSet();
		set.add("a");
		set.add("b");
		for (Iterator iter = set.iterator(); iter.hasNext();) {
			System.out.println(iter.next());
			
		}

	}
klappt wunderbar bei mir..
 
Zuletzt bearbeitet:
Hier ist der Code:


public class User extends Person {

public static enum UserAttribute{Name,Nachname,Strasse,Plz,Ort,Kontonummer,Blz,Bank};
private UserAttribute user;

Set sets = new TreeSet();

public void addTicket(Ticket Karte)
{
sets.add(Karte);

}

public Collection getbestellteTickets()
{
return (Collection) sets;
}
}

Die FehlerMeldungen:

at java.util.TreeMap.compare(Unknown Source)

at java.util.TreeMap.put(Unknown Source)

at java.util.TreeSet.add(Unknown Source)

 
Hallo!

Ich kenn mich zwar mit Hashtables nicht aus, aber auf den ersten blick würde ich sagen, dass
du in ne Variable vom Typ Set keine Instanz von TreeSet() legen kannst, korrigiere mich, wenn ich falsch liege.
Natürlich geht das...

Willst du mehrere Elemente in ein Sorted Set einfügen, so müssen diese Elemente das Comparable Interface implementieren...
Code:
/**
  * 
  */
 package de.tutorials;
 
 import java.util.Set;
 import java.util.TreeSet;
 
 /**
  * @author Tom
  * 
  */
 public class SetExample {
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		Set set = new TreeSet();
 		set.add(new Foo("A"));
 		set.add(new Foo("C"));
 		set.add(new Foo("B"));
 		
 		System.out.println(set);
 		
 	}
 	
 	static class Foo implements Comparable{
 		
 		String data;
 		
 		public Foo(String data){
 			this.data = data;
 		}
 		
 		public int compareTo(Object o) {
 			Foo otherFoo = (Foo)o;
 			return data.compareTo(otherFoo.data);
 		}
 		
 		public String toString() {
 			return this.data;
 		}
 	}
 }

gruss Tom
 
Zurück