Hi!
Habe schon ein paar ähnliche Threads gefunden, allerdings bin ich damit nicht weiter gekommen.
Ich habe eine LinkedList <Integer> mit den Werten 2, 4, 6, 8, 10
Über folgende Methode möchte ich die Liste um eine Zahl a erweitern, welche dann an entsprechender Stelle einsortierten werden soll:
The operator < is undefined for the argument type(s) T, Integer
The method addLast(T) in the type LinkedList<T> is not applicable for the arguments (Integer)
Ich war mir nicht sicher ob ich vll. statt Integer obj = new Integer(a); schreiben muss: T obj = new T(a) ?! Also: wie bekomme ich es hin eine an die Methode übergebene Zahl a so umzuwandeln, dass man sie in die Liste hinzufügen kann?
Und in wie weit ist es möglich, die Elemente der Liste auf größer / kleiner zu überprüfen - das sollte ja eigentlich nur mit int`s funktionieren.
Ich möchte gleich sagen, dass ich nicht sonderlich viel Erfahrung mit LinkedListen habe und mir das gerade versuche durch eigene Beispiele etwas näher zu bringen.
Vielen Dank schon mal !
Habe schon ein paar ähnliche Threads gefunden, allerdings bin ich damit nicht weiter gekommen.
Ich habe eine LinkedList <Integer> mit den Werten 2, 4, 6, 8, 10
Über folgende Methode möchte ich die Liste um eine Zahl a erweitern, welche dann an entsprechender Stelle einsortierten werden soll:
Java:
//Methode zum Hinzufügen von "int a" zur Liste
public static <T>LinkedList<T> add(LinkedList<T> x, int a){
Integer obj = new Integer(a); //Wrapper um a in die Liste einfügen zu können
LinkedList<T> o = new LinkedList<>(); //o=neue Liste mit eingefügtem a
Iterator<T> i = x.iterator(); //Iterator
if (i.hasNext())
if (i.next()<obj) //Wenn das neue Objekt größer ist passiert nichts
o.addLast(i.next()); //und next kommt wie gehabt an diese Stelle
else{
o.addLast(obj); //Neues Objekt an der Stelle einfügen
o.addLast(i.next());
}
return o; //return die neue Liste mit eingefügtem a
}
The method addLast(T) in the type LinkedList<T> is not applicable for the arguments (Integer)
Ich war mir nicht sicher ob ich vll. statt Integer obj = new Integer(a); schreiben muss: T obj = new T(a) ?! Also: wie bekomme ich es hin eine an die Methode übergebene Zahl a so umzuwandeln, dass man sie in die Liste hinzufügen kann?
Und in wie weit ist es möglich, die Elemente der Liste auf größer / kleiner zu überprüfen - das sollte ja eigentlich nur mit int`s funktionieren.
Ich möchte gleich sagen, dass ich nicht sonderlich viel Erfahrung mit LinkedListen habe und mir das gerade versuche durch eigene Beispiele etwas näher zu bringen.
Vielen Dank schon mal !