long in Vector speichern

Status
Nicht offen für weitere Antworten.

the_alien

Aktives Mitglied
Wieso kann ich damit:
Code:
private Vector Positions = new Vector();
Positions.addElement(12345);
nicht einfach long Variablen in einem Vector speichern? Eclipse meckert mich die ganze Zeit an das würde nicht gehen.
In "Java ist auch eine Insel" machen die das dann auch so:
Code:
Positions.addElement(""+12345);
Meiner Meinung nach ein vollkommen unnötiger Umweg, oder kann ich wirklich keine primitiven Datentypen in Vectoren speichern?

Sorry wenn meine Fragen echt dämlich sind :(
 

Wildcard

Top Contributor
the_alien hat gesagt.:
Meiner Meinung nach ein vollkommen unnötiger Umweg, oder kann ich wirklich keine primitiven Datentypen in Vectoren speichern?
Genau so ist es, da ein Vector intern auf einem Object[] basiert.
 

Sky

Top Contributor
Mit JAVA 5 geht das!

Ansonsten: Eine Wrapper-Klasse zu nutzen ist m.E. eleganter als
Code:
addElement(""+12345)
 

the_alien

Aktives Mitglied
Blöderweise kann ich kein Java 5 nutzen dafür.

Ich mach mir nur sorgen um die Performance... Wenn ich jedesmal
Code:
wrapper = new Long(12345);
mache und das vielleicht 160 mal, dann Müll ich mir doch nach und nach meinen Speicher zu. Zumal das ja nicht das einzige ist was dort abgelegt wird.
 

Wildcard

Top Contributor
Code:
Long l = Long.valueOf(1216l);
Ist besser. [edit]das bringt auch erst ab Java 5 was, sry :D [/edit]
In Java 5 passiert auch nichts anderes, nur das du dich nicht selbst darum kümmern musst
 

the_alien

Aktives Mitglied
Und beim auslesen dann
Code:
Long wert = (Long)Positions.get(0);
?

Schonmal danke für die Tips.
So kleine Feinheiten machen doch schon nen starken Unterschied zu C++ und damit tu ich mich gerade verdammt schwer.
 

mic_checker

Top Contributor
the_alien hat gesagt.:
In "Java ist auch eine Insel" machen die das dann auch so:
Code:
Positions.addElement(""+12345);

Es gibt einen Unterschied zwischen dieser Variante und deiner mit dem Umweg über Long.
""+12345 ist ein String - kein Long!

Zum Thema valueOf:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Long.html#valueOf(java.lang.String)
 

the_alien

Aktives Mitglied
mic_checker hat gesagt.:
Zum Thema valueOf:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Long.html#valueOf(java.lang.String)
Ja, hab ich hier auch offen. Aber unter valueOf(String) gibts auch ein valueOf(long) und das existiert nicht sagt Eclipse...
 

Bleiglanz

Gesperrter Benutzer
Ich mach mir nur sorgen um die Performance... Wenn ich jedesmal
mache und das vielleicht 160 mal, dann Müll ich mir doch nach und nach meinen Speicher zu. Zumal das ja nicht das einzige ist was dort abgelegt wird.

WOW! 160 mal!!

mal ganz im Ernst:

Weil die in einem speziellen Speicherbereich für "extrem kurzlebige" Dinge landen, werden sie bei der nächsten GC sowieso entsorgt...und besonderen Geschwindigkeitsnachteil hast du dadurch NICHT

Merkregel: Denk erst dann über die Performance nach, wenns wirklich ein Problem gibt!

Bei halbwegs aktuellen PCs heutiger Bauart kannst du Wrapperobjkete und sowas getrost ignorieren; wenn die Applikation "zu langsam" ist, liegts bestimmt nicht daran
 

Illuvatar

Top Contributor
dazu muss ich einfach noch sagen:
Code:
addElement(""+12345)
erstellt gleich zwei neue Objekte. ein String und ein StringBuffer zur Verkettung.
 

the_alien

Aktives Mitglied
Bleiglanz hat gesagt.:
Ich mach mir nur sorgen um die Performance... Wenn ich jedesmal
mache und das vielleicht 160 mal, dann Müll ich mir doch nach und nach meinen Speicher zu. Zumal das ja nicht das einzige ist was dort abgelegt wird.

WOW! 160 mal!!

mal ganz im Ernst:

Weil die in einem speziellen Speicherbereich für "extrem kurzlebige" Dinge landen, werden sie bei der nächsten GC sowieso entsorgt...und besonderen Geschwindigkeitsnachteil hast du dadurch NICHT

Merkregel: Denk erst dann über die Performance nach, wenns wirklich ein Problem gibt!

Bei halbwegs aktuellen PCs heutiger Bauart kannst du Wrapperobjkete und sowas getrost ignorieren; wenn die Applikation "zu langsam" ist, liegts bestimmt nicht daran
War einfach eine Zahl... Gut, keine wirklich klever gewählte :D
Das Problem an der Sache ist, dass ich Datein mit teilweise mehreren hundert Gigabyte habe und die parsen muss. Darum frag ich lieber vorher bvor ich da debuggen darf wo der ganze Speicher hin ist...

Merkregel: Fehler vorbeugen ist besser als Fehler beheben ;)


Jetzt weiss ich aber immernoch nicht warum valueOf nur String als Übergabeparameter kennt.
 

Wildcard

Top Contributor
Illuvatar hat gesagt.:
dazu muss ich einfach noch sagen:
Code:
addElement(""+12345)
erstellt gleich zwei neue Objekte. ein String und ein StringBuffer zur Verkettung.
Code:
addElement(""+"12345")
erzeugt nur ein String Object, daher vermute ich das die andere Variante auch optmiert wird und nur ein String erzeugt wird.
 

Bleiglanz

Gesperrter Benutzer
>>Das Problem an der Sache ist, dass ich Datein
>>mit teilweise mehreren hundert Gigabyte
>>habe und die parsen muss

in diesem Fall kannst du deinen Vector doch eh vergessen??

-> du darfst dann beim parsen vermutlich überhaupt keine Objekte auf dem Heap erzeugen...
 

the_alien

Aktives Mitglied
In dem Vector will ich ja nur ein paar long Variablen speichern, nicht die ganze Datei.
Wenn ich allerdings Seitenweise aus der Datei lesen und beim erzeugen von Vektoren alles doppelt und dreifach aufm Heap liegt bis der GC kommt, dann kann ich das so vergessen, darum frag ich genau nach.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
M Long-Typ in String-Änderung führt zu keinem Ergebnis bei großer Zahl Java Basics - Anfänger-Themen 11
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
krgewb Long wird gerundet Java Basics - Anfänger-Themen 2
Eule25 Arbeit mit long und int, Error: integer number too large Java Basics - Anfänger-Themen 2
javapingu Hex String zu long Java Basics - Anfänger-Themen 2
J Long Typ Java Basics - Anfänger-Themen 4
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
I Klassen Eine ArrayList<Long>, die sich automatisch sortiert Java Basics - Anfänger-Themen 20
O Long[] in long Java Basics - Anfänger-Themen 3
D Compiler-Fehler Java long und int Java Basics - Anfänger-Themen 1
Harlequin Compiler-Fehler Text Adventure - "Long Output" Fehler Java Basics - Anfänger-Themen 3
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
Hanschyo String kann nicht Werte von Long annehmen Java Basics - Anfänger-Themen 2
Orkanson Long Binär darstellen Java Basics - Anfänger-Themen 1
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
E Von Double zu Long umwandeln Java Basics - Anfänger-Themen 9
J Datentypen Literal überschreitet long-Range, dennoch als long an Variable übergeben Java Basics - Anfänger-Themen 9
T Bitte um Hilfe bei Aufgabe: Long zahl = Long.parseLong(args [0]); Java Basics - Anfänger-Themen 3
K Erste Schritte switch - Warum sind long/float/double/... nicht erlaubt? Java Basics - Anfänger-Themen 5
F Char in Long umwandeln? Java Basics - Anfänger-Themen 2
M Frage Long Wert in Java Java Basics - Anfänger-Themen 1
A Long in BigInteger Java Basics - Anfänger-Themen 3
T long wird ohne Nachkommastellen ausgegeben Java Basics - Anfänger-Themen 5
G Long und Frage zum Speicherplatz eines Arrays Java Basics - Anfänger-Themen 7
S OOP long prüfen Java Basics - Anfänger-Themen 5
B map.remove(long) Java Basics - Anfänger-Themen 5
G Rechnen mit Long Variablen Java Basics - Anfänger-Themen 4
N Zufälliger Long Java Basics - Anfänger-Themen 15
SheldoN Zahlen die über long-Wert hinausragen Java Basics - Anfänger-Themen 4
H TreeMap<> statt TreeMap<Long, String> Java Basics - Anfänger-Themen 2
SheldoN Gibt es größere Datentypen als long? Java Basics - Anfänger-Themen 2
G Long oder int Vorzeichen entfernen Java Basics - Anfänger-Themen 3
M Datentypen Calender TimeInMillis - long number erzeugen? Java Basics - Anfänger-Themen 2
D Konvertierung UnsignedInt zu long Java Basics - Anfänger-Themen 5
A long Wert in hexadezimales Array umwandeln Java Basics - Anfänger-Themen 3
A string bitweise in long umwandeln Java Basics - Anfänger-Themen 7
A Konvertierung String-->hex-->long Java Basics - Anfänger-Themen 7
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Datentypen Ein long[]-Array. Java Basics - Anfänger-Themen 5
G Datentypen Eclipse akzeptiert 'long' nicht Java Basics - Anfänger-Themen 2
N Mit long rechnen Java Basics - Anfänger-Themen 2
W Long to String Java Basics - Anfänger-Themen 7
B Long als Eingabeaufforderung Java Basics - Anfänger-Themen 3
H Long (64Bit) in 2 int (32Bit) zerlegen Java Basics - Anfänger-Themen 2
S Long und Float Frage Java Basics - Anfänger-Themen 2
N Datentypen Wurzel aus long ziehen Java Basics - Anfänger-Themen 4
O Runden - x/100 liefert long zurück Java Basics - Anfänger-Themen 7
A mdoulo methode mit long Java Basics - Anfänger-Themen 9
Binary.Coder Skalarprodukt mittels long und binärzahlen Java Basics - Anfänger-Themen 5
A Long zu Double Java Basics - Anfänger-Themen 4
B (long)1e9 Java Basics - Anfänger-Themen 6
V wozu ist das 'L' beim long notwendig ? Java Basics - Anfänger-Themen 5
J Länge eines long wertes Java Basics - Anfänger-Themen 13
S Division von long! Java Basics - Anfänger-Themen 4
Spot84 long von getCreationDate in String umwandeln Java Basics - Anfänger-Themen 4
S Probleme beim Umwandeln von Long nach Int Java Basics - Anfänger-Themen 4
G long[] aus SQL-Abfrage Java Basics - Anfänger-Themen 3
G String in Long casten Java Basics - Anfänger-Themen 2
N long geteilt durch long gleich null ? Java Basics - Anfänger-Themen 8
G int gleich long ? Java Basics - Anfänger-Themen 2
J A Long. way Java Basics - Anfänger-Themen 10
T Probleme mit long Java Basics - Anfänger-Themen 2
G NumberFormatException bei double und long Java Basics - Anfänger-Themen 11
G long zu kurz Java Basics - Anfänger-Themen 5
G long datum splitten in day etc Java Basics - Anfänger-Themen 23
G Konvertierung String in long type Java Basics - Anfänger-Themen 15
G Zahlen >long verwenden Java Basics - Anfänger-Themen 7
G Problem beim rechenen mit long Java Basics - Anfänger-Themen 3
G long oder double Java Basics - Anfänger-Themen 15
C Long -> String -> ArrayList adden -> Exception Java Basics - Anfänger-Themen 4
M long in byte[] konvertieren und wieder zurück Java Basics - Anfänger-Themen 2
S long millisekunden nach Uhrzeit format Java Basics - Anfänger-Themen 5
M Quersumme einer long zahl Java Basics - Anfänger-Themen 4
M long Datentyp effizient mit Daten füllen Java Basics - Anfänger-Themen 2
F Long umwandeln und auf 2 Dezimalen runden? Java Basics - Anfänger-Themen 14
G long in string Java Basics - Anfänger-Themen 6
G long-Zeitwert Java Basics - Anfänger-Themen 11
P "Line too long" bei der Generierung des jars. Java Basics - Anfänger-Themen 5
B String <> long --- Das ist doch nicht inkonvertibel? Java Basics - Anfänger-Themen 4
F Long zu 2 int und zurück Java Basics - Anfänger-Themen 3
G Hexadezimalzahl von String in Long umwandeln Java Basics - Anfänger-Themen 3
P von long zu int umwandeln? Java Basics - Anfänger-Themen 3
A formatieren long(bytes) -> String Java Basics - Anfänger-Themen 2
G "cannot convert from long to int" - problem Java Basics - Anfänger-Themen 9
G Vergleich zweier 'long'-Werte. Problem! Java Basics - Anfänger-Themen 6
M long nach String casten Java Basics - Anfänger-Themen 2
N x.toString(x); umwandlung von long in String Java Basics - Anfänger-Themen 3
P Wie mach ich aus Int ein Double oder Long ? Java Basics - Anfänger-Themen 6
N unsigned int to long Java Basics - Anfänger-Themen 5
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

Ähnliche Java Themen

Neue Themen


Oben