int in LinkedList einsortieren

Farbenfroh

Mitglied
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:

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 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 !
 

eMmiE

Bekanntes Mitglied
Ersetze mal das T durch "? extends Integer"
Dann sollte die LinkedList alles, was von Integer abgeleitet ist/Integer annehmen
 

Farbenfroh

Mitglied
Hi! Danke schon mal!
Ich habe jetzt "Integer" und "T" durch "Number" ausgetauscht - nun klappt es schon mal so weit, dass "int a" ans Ende der LinkedList angehangen und mit ausgegeben wird.
Hier mal der komplette Code mit main Methode:

Java:
package myfirstlist;
import java.util.Iterator;
import java.util.*;
import java.util.LinkedList;

public class listing {

	public static void main(String[] args) {

		//Erstelle eine Liste namens "liste" mit den meisten Siegen in Folge

		LinkedList<Number> liste = new LinkedList<Number>();
		liste.addLast(4); //4 Siege in Folge
		liste.addLast(6);
		liste.addLast(10);
		liste.addLast(12);
		liste.addLast(14);
		liste.addLast(16);
		liste.addLast(17);
		liste.addLast(18);
		
		//Ausgabe(liste);
		System.out.println("Liste der meisten Siege:");
		for (Number b : liste)
			System.out.println(b);
		
		//Ausgabe der Liste um 5 erweitert
		System.out.println("Die Zahl 5 hinzugefügt");
		LinkedList<Number> neu = add(liste, 5);
		for (Number b : neu)
			System.out.println(b);
	}
	
	

	//Methode zum Hinzufügen von "int a" zur Liste
	public static <T>LinkedList<Number> add(LinkedList<Number> x, int a){
		LinkedList<Number> o = new LinkedList<Number>();	//o = neue Liste welche a beinhaltet
		Iterator<Number> i = x.iterator();	
		//boolean eingefuegt=false;
		
//Einfach hinten dran gehangen sobald kein nächstes Element mehr in der Ursprungsliste vorhanden ist
//funktioniert!
		while (i.hasNext())						
			o.addLast(i.next());    		
		
	o.addLast(a);
	
//a soll einsortiert werden, allerdings funktioniert die Abfrage i.next()< nicht:
//The operator < is undefined for the argument type(s) Number, int
	
	/**
		while (i.hasNext() && !eingefuegt)
			if (i.next()<a)
				o.addLast(i.next());
			else{
				o.addLast(a);
				o.addLast(i.next());
				eingefuegt=true;
			}
			while (i.hasNext())
			o.addLast(i.next());
									**/

return o;								
	}

}

So! Allerdings möchte ich wie gesagt die Zahl 5 jetzt an der richtigen Stelle in der Liste einsortieren (aufsteigende Reihenfolge). (s. auskommentierter Algo)
Deinen Hinweis mit "? extends Integer" habe ich versucht umzusetzen, allerdings gabs noch mehr Fehlermeldungen als zuvor, nachdem ich jegliche "T" in der add-Methode ausgetauscht hatte.

Noch jemand eine Idee? Bzw. wo genau sollte ich ein "extends Integer" einbauen damit die Ungleichung funktioniert?
 

Flown

Administrator
Mitarbeiter
Warum nicht einfach so:

Java:
package list;

import java.util.LinkedList;

public class Listing {

	public static void main(String[] args) {

		LinkedList<Integer> liste = new LinkedList<Integer>();
		liste.addLast(4);
		liste.addLast(6);
		liste.addLast(10);
		liste.addLast(12);
		liste.addLast(14);
		liste.addLast(16);
		liste.addLast(17);
		liste.addLast(18);

		System.out.println("Liste der meisten Siege:");
		liste.stream().forEach(System.out::println);

		System.out.println("Die Zahl 5 hinzugefügt");
		LinkedList<Integer> neu = addSorted(liste, 5);
		neu.stream().forEach(System.out::println);
	}
	
	public static <T extends Comparable<T>> LinkedList<T> addSorted(LinkedList<T> list, T elem) {
		LinkedList<T> newList = new LinkedList<>(list);
		boolean added = false;
		for(int i = 0; i < newList.size(); i++) {
			if(elem.compareTo(newList.get(i)) < 0) { 
				newList.add(i, elem);
				added = true;
				break;
			}
		}
		if(!added) newList.addLast(elem);
		return newList;
	}
}

[EDIT]So jetzt wird das Element sicher eingefügt.[/EDIT]
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A LinkedList implementieren Java Basics - Anfänger-Themen 32
M Wie kann ich den Index i von einer LinkedList überprüfen? Java Basics - Anfänger-Themen 36
Düsseldorf2002 Datentypen Verschachtelte LinkedList Java Basics - Anfänger-Themen 5
Düsseldorf2002 Datentypen Zwei dimensionale LinkedList Java Basics - Anfänger-Themen 8
B Warteschlange erstellen mit LinkedList ? Java Basics - Anfänger-Themen 6
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
G Java LinkedList Java Basics - Anfänger-Themen 6
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
S Eigene LinkedList Klasse Java Basics - Anfänger-Themen 4
S Mit einer LinkedList vorwärts und rückwärts iterieren Java Basics - Anfänger-Themen 6
S Endlosschleife beim Ausgeben einer LinkedList Java Basics - Anfänger-Themen 2
G Java LinkedList Java Basics - Anfänger-Themen 3
B LinkedList add-Methode Java Basics - Anfänger-Themen 10
F Windows in LinkedList registrieren Java Basics - Anfänger-Themen 3
A Hilfe, LinkedList Java Basics - Anfänger-Themen 2
H Knoten-Reihenfolge einer LinkedList invertieren Java Basics - Anfänger-Themen 11
H linkedlist generische klassen Java Basics - Anfänger-Themen 169
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
P Quellcode LinkedList Java Basics - Anfänger-Themen 2
F Collection Aufgabe mit LinkedList Java Basics - Anfänger-Themen 3
N Hilfe bei verknüpfter Liste - Linkedlist Java Basics - Anfänger-Themen 11
P Datentypen LinkedList: Kopie behält Referenz? Java Basics - Anfänger-Themen 3
C ArrayList vs LinkedList vs ? Java Basics - Anfänger-Themen 15
C LinkedList vs. ArrayList Java Basics - Anfänger-Themen 15
O LinkedList zu ArrayList Java Basics - Anfänger-Themen 4
M LinkedList elemente löschen Java Basics - Anfänger-Themen 2
L Problem mit LinkedList Java Basics - Anfänger-Themen 3
F In LinkedList einen Wert ersetzen oder neu einfügen Java Basics - Anfänger-Themen 7
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
TechGirl LinkedList - kurze allgemeine Frage Java Basics - Anfänger-Themen 17
B generische LinkedList nach Häufigkeit der Elemente füllen Java Basics - Anfänger-Themen 6
L LinkedList Comparable < > MEHRFACH implementieren? Java Basics - Anfänger-Themen 3
S LinkedList mit Input vergleichen. Java Basics - Anfänger-Themen 5
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
F Element aus LinkedList löschen Java Basics - Anfänger-Themen 3
A LinkedList: Probleme beim Auslesen Java Basics - Anfänger-Themen 2
T Collections LinkedList<LinkedList<T>> - Implementierung Java Basics - Anfänger-Themen 10
S Jfreechart mit LinkedList befüllen Java Basics - Anfänger-Themen 1
S JTable LinkedList <Objekt> befüllen Java Basics - Anfänger-Themen 1
K LinkedList aus Arrays ( Lösungsraum Mastermind ) Java Basics - Anfänger-Themen 5
Z Compiler-Fehler LinkedList Fragen Java Basics - Anfänger-Themen 4
K Methoden Probleme mit LinkedList.remove(object) Java Basics - Anfänger-Themen 1
W Klassen LinkedList funktioniert nicht Java Basics - Anfänger-Themen 6
X LinkedList - Index eines Objekts Java Basics - Anfänger-Themen 2
S Strings in eine LinkedList schreiben und auslesen? Java Basics - Anfänger-Themen 4
D Sortieren von int Werten von Objekten in einer LinkedList, kann nicht auf int Werte zugreifen Java Basics - Anfänger-Themen 3
F Eigene LinkedList - toString Java Basics - Anfänger-Themen 10
T Datentypen gleichmäßiges mischen von 2 LinkedList Java Basics - Anfänger-Themen 3
S Dateien/LinkedList/StringBuffer - SOrtierung klappt nicht so ganz Java Basics - Anfänger-Themen 2
J Datentypen Array von einer LinkedList Java Basics - Anfänger-Themen 5
R LinkedList Java Basics - Anfänger-Themen 8
J Per I/O Streams in LinkedList oder ArrayList schreiben/lesen Java Basics - Anfänger-Themen 6
B LinkedList remove Java Basics - Anfänger-Themen 5
J statische Methoden auf eine LinkedList initialisieren? Java Basics - Anfänger-Themen 5
G Hausaufgabe mit LinkedList und LinkedListStack verstehen Java Basics - Anfänger-Themen 6
N LinkedList-checkForComodification Java Basics - Anfänger-Themen 11
N LinkedList Java Basics - Anfänger-Themen 17
P LinkedList sortieren Java Basics - Anfänger-Themen 20
P LinkedList - Stack ... grundlegende Frage Java Basics - Anfänger-Themen 5
Z Erste Schritte LinkedList Werte abfragen und vergleichen Java Basics - Anfänger-Themen 3
B SUCHE: Threadsafe LinkedList Java Basics - Anfänger-Themen 10
Binary.Coder Wie linkedlist für Djikstra nutzen? Java Basics - Anfänger-Themen 6
M Arrays in LinkedList Java Basics - Anfänger-Themen 4
R Collections Probleme mit contains()-Methode [LinkedList] Java Basics - Anfänger-Themen 5
G Collections.binarySearch(LinkedList): cannot find method Java Basics - Anfänger-Themen 6
M LinkedList aktuelle position Java Basics - Anfänger-Themen 3
G Frage zu LinkedList Java Basics - Anfänger-Themen 15
H Dynamische Bindung mit Interfaces und LinkedList Java Basics - Anfänger-Themen 7
I LinkedLIst / ArrayList Konstruktor Java Basics - Anfänger-Themen 4
B Collections RandomAccessfile & Linkedlist Java Basics - Anfänger-Themen 4
S Speichermangel ArrayList/LinkedList Java Basics - Anfänger-Themen 3
V LinkedList size() Java Basics - Anfänger-Themen 2
darekkay Datentypen HashSet bzw. LinkedList mit Werten initialisieren Java Basics - Anfänger-Themen 3
D Probleme mit LinkedList Java Basics - Anfänger-Themen 6
L LinkedList vorgänger Knoten zurück geben Java Basics - Anfänger-Themen 4
S LinkedList indexOf() - geht des irgendwie schneller? Java Basics - Anfänger-Themen 23
S LinkedList<String[]> filtern und sortieren Java Basics - Anfänger-Themen 9
W LinkedList Java Basics - Anfänger-Themen 12
S Frage zum speichern der Daten in einer LinkedList Java Basics - Anfänger-Themen 2
D Fenster in LinkedList verwalten Java Basics - Anfänger-Themen 2
C HashMap mit LinkedList Java Basics - Anfänger-Themen 5
S Datentypen LinkedList Konstruktor, add Alternative Java Basics - Anfänger-Themen 2
truesoul LinkedList Problem Java Basics - Anfänger-Themen 6
M Java Generics LinkedList Java Basics - Anfänger-Themen 5
H LinkedList Element an Stelle x ausgeben? Java Basics - Anfänger-Themen 5
D LinkedList aufrufe Java Basics - Anfänger-Themen 3
S Problem mit ObjectInputStream beim Einlesen von LinkedList Java Basics - Anfänger-Themen 3
S Serialized LinkedList aus Datei Laden Java Basics - Anfänger-Themen 15
S LinkedList Java Basics - Anfänger-Themen 2
M LinkedList in anderer Klasse nutzen Java Basics - Anfänger-Themen 4
L LinkedList sortieren Java Basics - Anfänger-Themen 5
L heap space, LinkedList umspeichern Java Basics - Anfänger-Themen 15
H LinkedList mit Strings Exception Java Basics - Anfänger-Themen 3
S IndexOutofBoundsException bei linkedlist Java Basics - Anfänger-Themen 5
B Fehlersuche bei LinkedList Java Basics - Anfänger-Themen 3
B LinkedList - Berechnung des Produkts Java Basics - Anfänger-Themen 6
S Sortierte LinkedList nach Variablen durchsuchen und nicht nach INDEX Java Basics - Anfänger-Themen 6
B Unterschied ArrayList und LinkedList Java Basics - Anfänger-Themen 5
S Implementierung gegen Interfaces / List, ArrayList, LinkedList Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben