Vektor in verketteter Liste

Status
Nicht offen für weitere Antworten.

Reen

Bekanntes Mitglied
Hallo!

Mal ne Frage. Gibt es eine Möglichkeit an die einzelnen Elemente eine Vektors wieder heranzukommen, wenn dieser in einem Knoten bzw. Listenelement einer verketteten Liste abgespeichert ist? Stellt sich mir nämlich die Frage, ob dieser dann noch als Vektor in der Form exisistiert, wenn die Daten im Listenelement liegen oder ob das dann einfach nur noch ein String ist.

Ziel soll es sein, immer auf das erste Vektorelement beim Durchzuchen der Liste zu zugreifen. Geht das?

Danke
Reen
 

Leroy42

Top Contributor
Sicher doch! Die Elemente einer Liste sind dieselben, die eingefügt wurden;
da findet keinerlei Umwandlung statt.

Code:
List<Vector<Irgendwas>> list = ....;

for (Vector<Irgendwas> elem : list)
  machWas(elem.get(0));
 

Reen

Bekanntes Mitglied
Hmmm....verstehe ich nich ganz dein Syntax.

Also die Suche wird aus der Main Klasse per Funktion gestartet, soie das füllen der Vektoren. Die Funktion suchen() befindet sich wiederrum in der Klasse "Kette". Der Funktion gebe ich als Parameter einen String mit, welcher an Position 0 im Vektor steht. Beim durchlaufen der Kette enthält die Var. "aktuellerKnoten" jeweils die Informationen im aktuellen Element.

Könntest du es daran ma etwas deutlicher mit dem Syntax aufschreiben?.

vielen Dank
Reen
 
B

bygones

Gast
Reen hat gesagt.:
Also die Suche wird aus der Main Klasse per Funktion gestartet, soie das füllen der Vektoren. Die Funktion suchen() befindet sich wiederrum in der Klasse "Kette". Der Funktion gebe ich als Parameter einen String mit, welcher an Position 0 im Vektor steht. Beim durchlaufen der Kette enthält die Var. "aktuellerKnoten" jeweils die Informationen im aktuellen Element.

ich glaube zum ersten gibt es hier noch mehr ungeklaertes als nur vector/list handling... zum anderen was willst du machen ?

du hast eine methode suchen, die einen String bekommt, welcher an der 1. position zu finden ist.... ? sollte eine methode suchen nicht etwas suchen ?
 

Reen

Bekanntes Mitglied
Öhmmm....also mein Vektor sieht in etwa folgendermaßen aus

| String | Zahl | Zahl |

Diesen Vektor schreibe ich halt ganz normal in eine verkettete Liste. Und jetzt möchte ich halt erstma ne Funktion haben, die jetzt beim Durchsuchen der Liste immer auf das erste Element hin überprüft, ob der übergebene String mit dem String im Vektor an Pos. 0 (welcher sich ja dann im einem Konten der Liste befindet) übereinstimmt. Mehr soll es eigentlich erstma nich sein.

Auf die anderen möchte ich dann zu einem anderen Zeitpkt. ebenfalls zugreifen, nur wenn der Vektor als solches nich mehr besteht, wirds natürlich wieder mist.


mfg
Reen
 

Leroy42

Top Contributor
Reen hat gesagt.:
Öhmmm....also mein Vektor sieht in etwa folgendermaßen aus
| String | Zahl | Zahl |

Mit Sicherheit nicht!

Ein Vector kann nur Objekte gleichen Typs aufnehmen.

Was für ein Datentyp (Klasse) fügst du denn in die Liste ein.

Bitte etwas Code....
 

merlin2

Top Contributor
Ich dachte immer, ein Vector könne Objekte beliebiger Typen aufnehmen, wenn man ihn ohne Typ in spitzen Klammern schreibt?
 

Reen

Bekanntes Mitglied
So Leutz....

Übers We habe ich leider auch keine richtige Lösung gefunden. Ich poste mal den Code ( auf's wichtigste beschränkt )


Code:
class Kette                                     
	{                                           
	  public Knoten kopf = new Knoten("kopf");
	  	 	  
	  
public Kette()                            
	  {                                         
		kopf.vorgaenger = null;
		kopf.naechster = null;
		
	  }                                         


	  public void fuegeNach(Object neuObj)
	  {   
		  Knoten aktuellerKnoten = kopf;
		  Knoten akt_vorgaenger  = kopf.vorgaenger;
		    
		  while (aktuellerKnoten != null)                
		    {
		      akt_vorgaenger  = aktuellerKnoten;
		      aktuellerKnoten = aktuellerKnoten.naechster;
		    }
		  
		  Knoten neuKnoten = new Knoten(neuObj);
		  
		  akt_vorgaenger.naechster = neuKnoten;
	
	  }                                                 
	  
		  
	  public void suchen(String value)           // statt String eventuell "Object"
	  {	  
		  Knoten aktuellerKnoten = kopf;
		  		  
		  while (aktuellerKnoten != null)    // Durchsuche solange bis NULL (oder ||) Eintrag gefunden                
		    {	
			  	aktuellerKnoten = aktuellerKnoten.naechster;
		    }
	  }
	 
	  
	}                                                    
 


class Knoten                  
{                            
  public Knoten naechster;    
  public Knoten vorgaenger;
  
  public Object element;
                        
  
  public Knoten(Object obj)   
  {                           
    element = obj;            
    naechster = null;
  }
}


import java.util.Vector;
import java.io.*;

public class Kettentest
{
  public static void main(String[] params)
  { 
	String eing; 
	  
	Kette liste = new Kette ();
	
	
	Vector vek3 = new Vector();
	
	
    vek3.addElement("Eintrag 3");
    vek3.addElement(new Integer(5));
    vek3.addElement(new Integer(6));
    vek3.addElement(new Integer(7));
        
    liste.fuegeNach(vek3);	
		
    BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
    
    try {
		
		while (true)
	    {	
			System.out.print("Eingabe: ");
	    	eing = eingabe.readLine();
	    	char auswahl = eing.charAt(0);   
	    	
	    	switch (auswahl)
	    	{	case 'a': liste.ausgeben();
	    					break;
	    					
	    		case 'e': liste.suchen("Eintrag 3");
	    					break;
	    		
	    		case 'q': System.exit(0); 
	    	} 
	    }
	} catch (IOException e) {
		
		e.printStackTrace();
	}

  }
}


So und jetzt möchte ich zum Bsp. den String "Eintrag 3", welcher ja an Pos. 0 im Vektor steht an die Funktion suchen() in der Klasse Liste übergeben und dieser soll nun beim Durchsuchen der Liste zurückgegeben werden oder eben nicht, wenn der Eintrag nicht existieren sollte. In der Variable "aktuellerKnoten.element" liegt immer der gesamte Vektor, aber meiner Meinung nach eben nur als String bzw. ist diese vom Typ Object, aber ich um z.B. an die Methode firstElement() ranzukommen, müsste es eben vom Typ Vector sein :?:
Da aber alle Klassen Unterklassen von Object sind, müsste es doch ne Möglichkeit geben, das zu ermöglichen. Die zweite Möglichkeit wäre dann wahrscheinlich nur, den String zuzerlegen, da alle Werte durch Komma getrennt sind, was aber sicherlich zu umständlich wäre.

Jemand ne Idee?

Danke
Reen
 
S

SlaterB

Gast
der Vector ist ein Vector, vielleicht in einer Varaible des Typs Object unhandlich gespeichert, aber bestimmt kein String,

durchlaufe die Liste, dann schaust du nach, ob ein Vector vorliegt:
Code:
if (aktuellesObject instanceof Vector)) {
 Vector v = (Vector) aktuellesObject;
 ...
}

Tipp: verwende ArrayList statt Vector
 

Reen

Bekanntes Mitglied
Danke Slater!

Aber warum ArrayList? lässt sich mit der besser händeln oder aus welchen Grund?

mfg
Reem
 
S

SlaterB

Gast
ist zum einen Klasse, deren Operationen nicht synchronisiert sind,
deren Zugriff also schneller ist
(bei der man aber den Zugriff zwischen mehreren Threads gesondert behandeln muss)

hauptsächlich aber weil es einfach besser ins moderne Collections-System passt,
allein schon vom Klassenname: Interface List, andere Klassen heißen z.B. LinkedList..,
keine veralteten deprecated Operationen
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Vektor vs List Java Basics - Anfänger-Themen 4
L Klassen Vektor Klasse Java Basics - Anfänger-Themen 2
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
O Matrix, Vektor Java Basics - Anfänger-Themen 9
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
U Ist diese Methode zur Matrix Vektor Multiplikation korrekt ? Java Basics - Anfänger-Themen 5
S Variablen Vektor zur Berechnung verwenden Java Basics - Anfänger-Themen 4
E Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 7
M transposen Vektor transformieren Java Basics - Anfänger-Themen 8
M Vektor Rechnung Java Basics - Anfänger-Themen 6
B Stützstellen (Vektor) erzeugen? Java Basics - Anfänger-Themen 8
R Matrix-Vektor-Multiplikation Java Basics - Anfänger-Themen 13
B Vektor addieren Java Basics - Anfänger-Themen 4
F Funktion eines JButton in einen Vektor verlagern Java Basics - Anfänger-Themen 4
Z Matrix mit Vektor multiplizieren Java Basics - Anfänger-Themen 13
P Vektor im R3 drehen? Java Basics - Anfänger-Themen 14
M Map mit Vektor: Element hinzufügen Java Basics - Anfänger-Themen 21
A vektor bearbeiten?? Java Basics - Anfänger-Themen 9
V Position in einem Vektor Java Basics - Anfänger-Themen 3
N Vektor mit eigener Datenstruktur sortieren Java Basics - Anfänger-Themen 20
A Wie greif ich auf Elemente eines Arrays in einem Vektor zu? Java Basics - Anfänger-Themen 6
D Array? ArrayList? Vektor? ...? Java Basics - Anfänger-Themen 6
C OOP Aus Vektor zufällig einen Eintrag wählen und in Array[][] schreiben Java Basics - Anfänger-Themen 5
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
S Variable über den Vektor bestimmen Java Basics - Anfänger-Themen 20
J klasse vektor addition Java Basics - Anfänger-Themen 10
M Vektor Klasse Problem Java Basics - Anfänger-Themen 12
M Reihenfolge von Objekten im Vektor Java Basics - Anfänger-Themen 3
G Vektor auslesen und als int Variable casten Java Basics - Anfänger-Themen 4
G Mothoden von Objekten in Vektor aufrufen Java Basics - Anfänger-Themen 4
F ComboBox im Vektor auslesen, Vektor<JComboBox> Java Basics - Anfänger-Themen 6
G Probleme mit Datenstrukturen (Vektor, HashMap) Java Basics - Anfänger-Themen 5
T Koordinaten eines Vektor übergeben Java Basics - Anfänger-Themen 21
J Vektor in Vektor speichern? Java Basics - Anfänger-Themen 10
J Vektor null setzen Java Basics - Anfänger-Themen 10
J Vektor + auf Elemente zugreifen funktioniert nicht Java Basics - Anfänger-Themen 11
H Vektor auslesen und durchsuchen Java Basics - Anfänger-Themen 4
G Vektor Java Basics - Anfänger-Themen 1
C "null" Element Vektor abfragen Java Basics - Anfänger-Themen 7
C vektor erschaffen Java Basics - Anfänger-Themen 2
C Ein Element aus Mehrdimensionalem Vektor lesen Java Basics - Anfänger-Themen 2
L Vektor befüllen? Java Basics - Anfänger-Themen 3
G Doppelte (Paar) Werte in einem Vektor finden Java Basics - Anfänger-Themen 6
S kartesischer Vektor im n-dimensionalen Raum. Java Basics - Anfänger-Themen 7
G Objekte in einen Vektor speichern Java Basics - Anfänger-Themen 4
M Vektor, gefüllt mit Objekten einer selbstdefinierten Klasse Java Basics - Anfänger-Themen 4
C checken ob ein Vektor leer ist Java Basics - Anfänger-Themen 3
J tast-Eingabe_(Vektor)Skalar-produkt Java Basics - Anfänger-Themen 19
G elemente in einem vektor nach ihren eigenschaften sortieren Java Basics - Anfänger-Themen 2
G Problem clone und Vektor Java Basics - Anfänger-Themen 4
M Vektor sortieren Java Basics - Anfänger-Themen 7
P Vektor toString? Java Basics - Anfänger-Themen 2
T Hashtable und Vektor Java Basics - Anfänger-Themen 3
I einlaggern von Objekten in ein Vektor Java Basics - Anfänger-Themen 10
G Vektor Java Basics - Anfänger-Themen 3
T Löschen in doppelt verketteter Liste Java Basics - Anfänger-Themen 1
Hacer Operationen einfach verketteter Listen Java Basics - Anfänger-Themen 22
S Aus Datei in verketteter Liste speichern Java Basics - Anfänger-Themen 38
R ArrayList in verketteter Liste Java Basics - Anfänger-Themen 12
N Nullpointerexception bei Doppelt verketteter Liste Java Basics - Anfänger-Themen 7
D Exceptions in doppelt verketteter Liste Java Basics - Anfänger-Themen 5
S getMax() aus verketteter Liste Java Basics - Anfänger-Themen 6
T Große Zahlen aufgesplittet in verketteter Liste speichern Java Basics - Anfänger-Themen 4
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
J Ähnlichen String in Liste finden Java Basics - Anfänger-Themen 6
M Verkettete Liste Java Basics - Anfänger-Themen 1
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
H Liste nach String-Länge sortieren Java Basics - Anfänger-Themen 1
D remove Object von einer Liste von Obejcts Java Basics - Anfänger-Themen 3
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
M Nullpointer beim befüllen meiner Liste im Object Java Basics - Anfänger-Themen 3
D Länge einer Liste aufrufen. Java Basics - Anfänger-Themen 19
B Objekt aus generalisierter Liste entfernen Java Basics - Anfänger-Themen 11
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
W Liste mit Listen in JTable darstellen Java Basics - Anfänger-Themen 1
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
E Suchfunktion in einer Liste Java Basics - Anfänger-Themen 39
T ungeordnete Werte-Paare in einer Liste Java Basics - Anfänger-Themen 7
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
sserio Wieso werden nicht alle Primzahlen bis 1000 in meine Liste gepackt ? Java Basics - Anfänger-Themen 8
sserio Liste erstellt und ein Problem mit dem Index Java Basics - Anfänger-Themen 8
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
H Java verkettete Liste, Wert eines Index zurückgeben Java Basics - Anfänger-Themen 1
K Warum ist die binäre Suche bei der verketteten Liste nicht so effektiv? Java Basics - Anfänger-Themen 3
I 2D-Array Position der Liste ausgeben. Java Basics - Anfänger-Themen 2
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
Dorfschmied Kartesisches Produkt von zwei Liste mit Hashmaps<String,String> erstellen Java Basics - Anfänger-Themen 4
Igig1 Autoparkplatz verkettete Liste erstes und letztes Auto Java Basics - Anfänger-Themen 13
thor_norsk Verkette Liste Java Basics - Anfänger-Themen 27
R Rückgabe: verkettete Liste Java Basics - Anfänger-Themen 2
R einfach verkettete Liste Java Basics - Anfänger-Themen 1
R einfach verkettete Liste Java Basics - Anfänger-Themen 12
O Doppelt verkette Liste Element löschen Java Basics - Anfänger-Themen 15
B GUI extension mit einer Liste verbinden Java Basics - Anfänger-Themen 1
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14

Ähnliche Java Themen

Neue Themen


Oben