tomgk: Platzsparende Speicherung eines Vektors

Hallo!

Ich hab eine Klasse, die von Vector abgeleitet ist.
Die Werte speichere ich mit out.writeObject(v.toArray()) in einer Datei.
Wenn der Vektor aus 100 Byte-Werten besteht ist die Datei 676 Bytes groß.
Lege ich die Werte in ein byte-Array, dann ist die Datei nur 106 Bytes groß.

Was kann man machen, dass bei Typen wie Byte,Short,Integer,...-Array ein Array aus einem primitiven Datentyp gespeichert wird?

MfG
tomgk

--
Selfcode=ie:% fl:( br:> va:| ls:& rl:? n4:? ss:| de:] js:| ch:? sh:) mo:) zu:(
  1. hi,

    Was kann man machen, dass bei Typen wie Byte,Short,Integer,...-Array ein Array aus einem primitiven Datentyp gespeichert wird?

    Falls mySQL: 106 Byte -entspricht-> char(106) in der Latin-Zeichenfamilie (Tagging beachten). Ansonsten sind in solchen Sachen Bitoperatoren (shift, &, | ...) sehr hilfreich.

    Hotte

    --
    Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
  2. Hello,

    Wenn der Vektor aus 100 Byte-Werten besteht ist die Datei 676 Bytes groß.
    Lege ich die Werte in ein byte-Array, dann ist die Datei nur 106 Bytes groß.

    Den Platzbdedarf für den Vektor kann man fast nachrechnen, ohne reinzugucken in den Code.

    4 Bytes für die Adressierung jedes Elementes
       1 Byte  für die Daten jedes Elementes
       4 Bytes für die Adressierung jeder Liste

    1. Liste beim Aufbau des Vektors mit 16 Elementen
          und dann immer pro Verdoppelung der Elemente eine neue Liste

    macht

    9 Listen         36
       128 Elemente    128
       128 Adressen    512
                      ----
                       676

    *huch*
    Das es so genau stimmt, hätte ich jetzt nicht gedacht ;-)

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      9 Listen         36

      Sorry, da stimmt es nicht, denn es sind nur vier Listenteile, aber vielleicht sind die vorwärts und rückwärts  verkettet.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de