Vector

Status
Nicht offen für weitere Antworten.

KalleM

Aktives Mitglied
Hallo,
habe ein paar fragen zu der Vector Klasse.

Ich habe eine Klasse "Liste" mit Konstruktor, Getter und Setter Methoden.
Weiter habe ich eine Klasse "Verwaltung", mit der main Methode. In dieser Klasse habe ich dann ein Klassen-Objekt, der Klasse "Liste":
Liste l = new Liste("", "").
In entsprechender Methode lese ich dann die Attribute ein und übergebe diese an das Objekt:
System.out.println("Gebe Namen ein: ")
String n = in.readLine()

System.out.println("Gebe Nummer ein: ")
int nu = Integer.parseInt(in.readLine())

l = new Liste(n, nu).

Und weise dem Vektor das Objekt zu:
v.addElement(l).

Wie kann ich denn jetzt das Objekt aus dem Vektor ausgeben? mit:
System.out.println(v.firstElement());
klappt es nicht?

mfg
 

Schandro

Top Contributor
1.) Wenn du geholfen bekommen möchtest, bitte immer die Fehlermeldung dazuposten. Warum klappt es nicht?
2.) Benutz lieber ArrayList statt Vector, ist neuer (schneller...)
 

Ein Keks

Bekanntes Mitglied
hi
du solltest lieber eine ArrayList nehmen vector is etwas veraltet
säh dann z.B. so aus:
Java:
List elemente = new ArrayList();
List.add(n,nu); 
System.out.println( List.get(index) );

Java 2 Platform SE v1.4.2

wobei in System.out.println() glaub die toString()-methode des übergebenen Objekt ausgegeben würde d.h. du müsstest sie in deiner klasse Liste überschreiben so dass sie halt das ausgibt was du willst

btw. vllt auch etwas bessere namen als n oda nu nehmen...

mfg
 

KalleM

Aktives Mitglied
mh,
das ein Vector nicht besonders schnell ist, ist mir bekannt. Es wird halt verlangt einen Vector zu benutzen.

Ich bekomme keine wirkliche Fehlermeldung, aber auch nicht das was ich erwarte. Die Ausgabe sieht wie folgt aus:
Liste@3a6727
 

Schandro

Top Contributor
Wenn eine Klasse die toString() MEthode nicht überschreibt, kommt immer sowas raus.
(das println von System.out ruft nämlich auf das übergebene Object toString() auf, um es ausgeben zu können)

Du müsstest in deiner selbserstellten Klasse die toString() Methode überschreiben...
 

Meru

Bekanntes Mitglied
Vector = Threadsicher (syncronized). Dadurch ist es ein wenig langsamer als ArrayList.
Zu sagen, dass man lieber ArrayList nehmen soll kommt dann wohl eher auf den Anwendungsfall an.

Allgemein arbeite ich auch lieber mit ArrayList
 

Schandro

Top Contributor
Ne, statt Vectoren sollte man entweder normale ArrayList oder ne synchronisierte ArrayList benutzen, diese erstellt man so:

ArrayList mySyncList = Collections.synchronizedList(new ArrayList());
 

Meru

Bekanntes Mitglied
Das kannte ich in dieser Form noch nicht, aber dadurch, dass sie ja nun auch synchronisiert wird, muss sich doch die Performance verschlechtern. Ist sie synced immer noch schneller als Vector?
 

tfa

Top Contributor
Keine Ahnung. Wahrscheinlich nicht. Aber das ist völlig egal.
Vector ist deswegen hässlich, weil sich diese Klasse erst nachträglich in das Java-Collections-Framework eingegliedert wurde ("has been retrofitted" steht in den API-Docs). Einige Methoden sind dadurch z.B. überflüssig geworden, müssen aber trotzdem noch mitgeschleift werden aus Kompatibilitätsgründen.
 

Schandro

Top Contributor
Bei meinem nicht represantiven Test kam raus das Vector bei meinen PC 14% schneller ist...
Java:
import java.util.*;

public class VectorVSSyncArrayList{

	public final static int ENTRYS = 9999;

	public static void main(String[] args){
		long startTime = System.nanoTime();
		
		// immer eins Auskommentieren!
		testVector();
		//testArrayList();
		
		System.out.println((System.nanoTime()-startTime)/10000);
	}

	public static void testArrayList(){
		List<A> mySyncList = Collections.synchronizedList(new ArrayList <A> ());

		for(int i=0;i<ENTRYS;++i){
			mySyncList.add(new A());
		}

		for(int i=0;i<ENTRYS;++i){
			mySyncList.remove(0);
		}
	}

	public static void testVector(){

		Vector <A> vector = new Vector <A> ();

		for(int i=0;i<ENTRYS;++i){
			vector.add(new A());
		}

		for(int i=0;i<ENTRYS;++i){
			vector.remove(0);
		}
	}
}

class A{

}

Trotzdem ist ArrayList irgendwie schöner.
 

Marco13

Top Contributor
Ich bin mir nicht sicher, WAS genau du da gemessen hast. Microbenchmarks sind immer so eine Sache... :rolleyes: (Je nachdem, was man zeigen will, kann man für Vector einen Geschwindigkeitszuwachs von 0.6% bis 50% hindengeln). Ein möglicher Grund für schlechtere Performance ist natürlich, dass bei der SynchronizedList ALLE Aufrufe "weiterdelegiert" werden. Aber ich finde, man kann durchaus einen Vector statt einer SynchronizedList verwenden, wenn (und NUR wenn) man den Vector NUR über das List-Interface anspricht....
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Erste Schritte Alle möglichen ausgaben von 5 Zahlen als Vector Java Basics - Anfänger-Themen 7
C Werte im Vector in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 14
C Vector-Inhalt in zufällige Reihenfolge bringen Java Basics - Anfänger-Themen 6
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
Z Vector in jTextField/jLabel darstellen Java Basics - Anfänger-Themen 4
P Objekte in Vector werden überschrieben Java Basics - Anfänger-Themen 4
P Array in Vector speichern Java Basics - Anfänger-Themen 2
E Methoden new Vector().add(x).add(x); ? Java Basics - Anfänger-Themen 5
F Vector istGeordnet Java Basics - Anfänger-Themen 15
R Vector-Filterfunktion Java Basics - Anfänger-Themen 4
Todesbote Map (Key=String; Value = Vector) Value/Vector sortieren Java Basics - Anfänger-Themen 13
J Vector Manipulieren.. Wie? Java Basics - Anfänger-Themen 16
M Vector eines Vectors einzeln ausgeben Java Basics - Anfänger-Themen 9
K String kommt schon in Vector vor? Java Basics - Anfänger-Themen 36
J Erzeugung eines Vector-Objekts - Frage zum Typ Java Basics - Anfänger-Themen 3
H Zugriff auf Vector Element Java Basics - Anfänger-Themen 2
C Vector erzeugt neue Indizes nach Input Java Basics - Anfänger-Themen 2
A Author in Vector Java Basics - Anfänger-Themen 22
M Vector überschreibt Elemente bei add()-Methode Java Basics - Anfänger-Themen 10
T Elemente im Vector werden einfach überschrieben! Java Basics - Anfänger-Themen 3
K Collections Vector zu String casten Java Basics - Anfänger-Themen 4
U Wozu dient ein Vector in Java? Java Basics - Anfänger-Themen 6
S Vector mit beliebigen Klassen an Funktion übergeben Java Basics - Anfänger-Themen 20
B Globale vector? Java Basics - Anfänger-Themen 7
E 2 Dimensionaler Vector Java Basics - Anfänger-Themen 5
T Map<String, Vector>? Java Basics - Anfänger-Themen 11
P Collections Vector füllen in for-Schleife Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
M 2D Vector Java Basics - Anfänger-Themen 2
N IndexOutOfBoundsException: Source does not fit in dest beim Kopieren von ArrayList in Vector Java Basics - Anfänger-Themen 4
M Umwandlung von Array in Vector und umgekehrt Java Basics - Anfänger-Themen 6
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
D Klasse Vector entwerfen Java Basics - Anfänger-Themen 7
A Arrays vs Liste vs Vector Java Basics - Anfänger-Themen 30
H in for Schleife über Vector iterieren Java Basics - Anfänger-Themen 2
S Datentypen Vector auslesen Java Basics - Anfänger-Themen 12
yampi Objektsammlung - Hashtable, Vector, Arrays Java Basics - Anfänger-Themen 8
T Vector-Positin anzeigen Java Basics - Anfänger-Themen 3
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
C Vector<Object> Probleme Java Basics - Anfänger-Themen 38
C Datentypen Probleme mit Vector.contains() Java Basics - Anfänger-Themen 10
M Datentypen function(Vector<SuperClass>), Vector<Subclass> Java Basics - Anfänger-Themen 6
L Vector Sortieren Java Basics - Anfänger-Themen 8
B Vector in Table ersetzen Java Basics - Anfänger-Themen 4
B Werte einer Spalte aus DB in einen Vector schreiben Java Basics - Anfänger-Themen 15
kitz Telefonbuch (Vector) Java Basics - Anfänger-Themen 17
E Arraylist mit Daten aus Vector füllen Java Basics - Anfänger-Themen 7
S Vector -> String JComboBox Java Basics - Anfänger-Themen 11
F Vector wird überschrieben Java Basics - Anfänger-Themen 8
T Vector sortiern Java Basics - Anfänger-Themen 7
C Frage zu Vector und muliplizieren des Inhaltes Java Basics - Anfänger-Themen 2
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
J Collection Vector Java Basics - Anfänger-Themen 8
Streeber ArrayList/Vector, mehrdimensional Java Basics - Anfänger-Themen 11
N Was ist der Unterschied zwischen ArrayList und Vector? Java Basics - Anfänger-Themen 3
babel Einen Vector/Liste mit Daten prüfen Java Basics - Anfänger-Themen 31
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
H Vector - Fehler? Java Basics - Anfänger-Themen 2
babel einen Vector nach Datum sortieren Java Basics - Anfänger-Themen 21
T Array-Vector Problem Java Basics - Anfänger-Themen 18
P Vector und Exception Java Basics - Anfänger-Themen 7
K Vector Java Basics - Anfänger-Themen 3
babel ein Vector mit verschiedenen Werten auslesen und berechnen Java Basics - Anfänger-Themen 34
T Object aus Vector übergeben Java Basics - Anfänger-Themen 2
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
L Vector einem Array hinzufügen Java Basics - Anfänger-Themen 14
P Vector mit double Java Basics - Anfänger-Themen 3
P Vector Elemente auslesen Java Basics - Anfänger-Themen 9
N Anfängerfrage richtige Syntax und Frage zu Vector Java Basics - Anfänger-Themen 7
C Unterschied zwischen ArrayList und Vector Java Basics - Anfänger-Themen 2
W Vector mit String[] auslesen Java Basics - Anfänger-Themen 4
Povlsen84 Initlialisierung, Vector, serialVersionUID . kleine Fragen Java Basics - Anfänger-Themen 4
Q Vector verändert trotz final seine Größe Java Basics - Anfänger-Themen 5
B Dopplete aus Vector entfernen Java Basics - Anfänger-Themen 8
E Vector Fehler bei allen Methoden von Vector Java Basics - Anfänger-Themen 2
K Vector zu Array machen Java Basics - Anfänger-Themen 10
1 JList Problem : Synchronisation mit Vector klappt nicht :( Java Basics - Anfänger-Themen 6
L Multidimensional Vector - Recordset Java Basics - Anfänger-Themen 5
K Objektklasse mit leerem Vector füllen Java Basics - Anfänger-Themen 6
K Vector wird überschrieben Java Basics - Anfänger-Themen 7
G Vector Strijng parsen Java Basics - Anfänger-Themen 6
K vector cannot be resolved Java Basics - Anfänger-Themen 3
G Zeichenkette suchen in Vector-Klasse Java Basics - Anfänger-Themen 11
R fehler beim incrementellen schreiben in einen vector Java Basics - Anfänger-Themen 11
M ObjectInputStream, Object und Vector<Object> Java Basics - Anfänger-Themen 4
G Vector, equal & Casts Java Basics - Anfänger-Themen 5
N Objekte in einen Vector packen oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Vector Java Basics - Anfänger-Themen 7
S Problem mit Vector Java Basics - Anfänger-Themen 2
G Object[] [] nach vector casten. Java Basics - Anfänger-Themen 3
G 2D vector zugriff auf elementinterne elemente wie Java Basics - Anfänger-Themen 3
G vector in neuem vector sortieren Java Basics - Anfänger-Themen 3
G jede 2te zeile in vector leer einfügen, wie? Java Basics - Anfänger-Themen 4
G vector füllt sich immer weiter. wo muss ich ihn leeren? Java Basics - Anfänger-Themen 3
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
G Vector eigenen Typs mit Daten füllen Java Basics - Anfänger-Themen 20
H Vector und Dateien Java Basics - Anfänger-Themen 27

Ähnliche Java Themen

Neue Themen


Oben