Byte Array welches in Laufzeit aufgelöst wird // Objekt Array

Shardic

Mitglied
Hallo liebes Javaforum,

ich bin zwar noch ein relativer Neuling in Java, glaube aber das ich mit meinem Anliegen hier richtig bin.

Momentan habe ich das Problem, dass ich ein mehrdimensionales, sagen wir erstmal Objekt-Array, erstellen möchte und in den Objekten Variablen speichern möchte, die später zur weiteren Verarbeitung genutzt werden. Diese Variablen werden pro Typ jedoch sehr einseitig sein, so habe ich beispielsweise für Typ 1 einen bolean der true ist, einen Integer der auf 3 ist usw., für Typ 2 ist der bolean beispielweise auf false, der Integer auf 6 usw...

Meine Frage dazu: Ist es, bzw. wann ist es Sinnvoll dieses Array einfach nur zu einem Byte Integer zu ändern und später die logik über den Teil der Arrays rüberlaufen zu lassen, welche grade benötigt werden ? Dabei soll dann die Logik je nachdem was in dem Array drinsteht dem Programm bestimmte Werte für bestimmte Arrayfelder übergeben. z.B. In Stelle [1][2][3][4] ist ne 1 also ist der boolean "anzeigen" auf true und der Integer "größe" auf 5 und auf Stelle [1][2][3][7] ist ne 2 also ist der boolean "anzeigen" auf false und der Integer "größe" auf 10.

Bin mir auch gar nicht sicher, ob das so einfach geht ^^, naja ihr werdet mich schon berichtigen...

Es soll dabei um min. 3-4 dimensionale Arrays gehen, die zwischen 5 Mio. und 100 Mio. einträge haben. Davon werden aber nur zwischen 250k und 2 Mio zu einer Zeit benötigt...
Wenn ich versuche Objekte in der größenzahl zu speichern komme ich auf min. die 20-igfache Datenmenge die dann im Arbeitsspeicher drin wäre... Keine Ahnung was jetzt Sinnvoller ist, oder ob nicht die "umrechnung" über die Logik wesentlich aufwändiger wäre als wenn ich alles als Objekte beim Programmstart in einem Objektarray abspeichere.

Hoffe ihr versteht was ich meine, und vielen Dank schon mal für die Beantwortung!

Viele Grüße

Shardic
 
Zuletzt bearbeitet:

SilverClaw

Aktives Mitglied
Dabei soll dann die Logik je nachdem was in dem Array drinsteht dem Programm bestimmte Werte für bestimmte Arrayfelder übergeben. z.B. In Stelle [1][2][3][4] ist ne 1 also ist der boolean "anzeigen" auf true und der Integer "größe" auf 5 und auf Stelle [1][2][3][7] ist ne 2 also ist der boolean "anzeigen" auf false und der Integer "größe" auf 10.
Ich scheitere ja spätestens bei dem Satz...und bin mir wirklich nicht sicher, wofür man einfach mal so permanent 100Mio Einträge im Speicher halten müsste. Baust du dir eine Physikengine oder was? o.ô
Ich bin mir sicher, dass es bei den meisten Anwendungen mit erheblich weniger gehen dürfte.
 
Zuletzt bearbeitet:

Shardic

Mitglied
Also es geht mir hier um Prozedurales Generieren von eventuellen Karten, Wäldern, Städten etc.... Dafür habe ich momentan ein Byte Array mit 500x500x40... macht momentan eine Größe von 10 Mio. Einträgen, ich interessiere mich allerdings auch eben dafür ob es möglich ist, dass ohne weiteres zu vergrößern. Bzw. mehrere dieser Arrays nebeneinander zu legen.

Oder ist es besser in solch einem Fall das gesamte Array auf der Festplatte zu speichern und dann nur einzelne Teile des Arrays zu laden ? Und wie mach ich das ? ^^ oder soll ich dafür am besten ein eigenes Thema aufmachen
 

SilverClaw

Aktives Mitglied
Ich habe ja selbst schon ein wenig mit Karten generieren rumgebastelt, allerdings recht einfache zweidimensionale...das sinnvollste wäre in dem Fall tatsächlich, das Ganze aufzuteilen und zwischenzuspeichern. Da gbt es aber auch wieder Dutzende Möglichkeiten, die je nachdem, was du wie rechnest, mehr oder weniger sinnvoll sind.
Du könntest deine Welt z.B. in beliebig große Blöcke aufspalten und aneinander setzen lassen, dadurch könntest du dann beliebig erweitern. Für sowas sollte eine zweidimensionale ArrayList ausreichen, also z.B. ArrayList<ArrayList<WeltBlock>>
Ich weiß ja aus deiner beschreibung nichtmal, ob die Welt immer rechteckig sein oder eine beliebige Form haben kann und was alles darauf gespeichert werden sollte.
Aber zum Abspeichern kannst du entweder einen Block serialisieren und über einen ObjectStream abspeichern oder direkt die Byte-Arrays in eine Datei schreiben.
Eventuell kannman auch die einzelnen Höhen-Ebenen der Welt einzeln laden, aber ich weiß nicht wirklich, ob das viel sinnvoller ist.
Wenn du einen Ansatz und konkrete Fragen hast, kann man mir auch besser helfen. ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
LucasGlockner Effizienter byte-Zugriff auf ein long[]-Array Allgemeine Java-Themen 8
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
N Byte Array in Java "dekomprimieren" Allgemeine Java-Themen 3
R Byte Array Zeichensuche Allgemeine Java-Themen 6
O Byte-Array zu String Allgemeine Java-Themen 7
E Byte-Array to String: Zeichenkaputt Allgemeine Java-Themen 11
R In einem Byte-Array nach einer gewissen Zahlenfolge suchen Allgemeine Java-Themen 7
A Input/Output Buffered Image zu Byte Array und zurück konvertieren Allgemeine Java-Themen 4
M byte array splitten Allgemeine Java-Themen 3
W CRC32 aus byte array Allgemeine Java-Themen 5
P Einzelne Bits in einem Byte-Array setzen Allgemeine Java-Themen 2
R int to byte[] Array Allgemeine Java-Themen 4
MQue byte[] Array to Integer Allgemeine Java-Themen 4
G String in byte- Array Allgemeine Java-Themen 3
ARadauer Blob aus byte Array erstellen? Allgemeine Java-Themen 3
D datei in byte[]-array schreiben Allgemeine Java-Themen 6
MQue ArrayList in ein byte- Array Allgemeine Java-Themen 7
B ein spezielles Byte-Array sortieren Allgemeine Java-Themen 11
J byte-Array in Hashmap speichern? Allgemeine Java-Themen 3
J byte-Array als String übers http schicken Allgemeine Java-Themen 8
B boolean array = byte array (platzverbrauch) Allgemeine Java-Themen 6
C Byte Array aus Datei erzeugen Allgemeine Java-Themen 6
T BufferedImage aus einem byte-Array? Allgemeine Java-Themen 2
H int aus Byte-Array erzeugen Allgemeine Java-Themen 10
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
Thallius unsigned byte Allgemeine Java-Themen 18
kodela Datentypen byte als unsigned interpretieren Allgemeine Java-Themen 23
W String -> byte[] -> String - Sieht jemand was ich nicht sehe? Allgemeine Java-Themen 10
TheWhiteShadow 2D-Grafik GIF Library mit byte output Allgemeine Java-Themen 10
K Data Konverter - Probleme mit Byte[] Kodierung Allgemeine Java-Themen 3
kodela Byte Order Mark (BOM) bei readLine() ignorieren Allgemeine Java-Themen 5
A Byte zu String Allgemeine Java-Themen 4
RalleYTN Datentypen Unsignierter Byte zum signierten Byte Allgemeine Java-Themen 2
X Datentypen Byte geht nicht höher als 126 auch nicht mit casten? Allgemeine Java-Themen 22
M Null byte in verschiedenen charsets Allgemeine Java-Themen 2
D Decodierung von Mp3-byte[] Allgemeine Java-Themen 4
A ByteBuffer.get(byte[] dst,int offset,int length) Allgemeine Java-Themen 2
A RandomAccessFile.read(byte[] b) Allgemeine Java-Themen 9
P Datentypen Warum überhaupt Byte ? Allgemeine Java-Themen 12
P Datentypen String-Daten zu Byte-Zahlen konvertieren - Komme nicht weiter nach vielem versuchen :-/ Allgemeine Java-Themen 7
E Byte zu String & umgekehrt Allgemeine Java-Themen 3
B BufferedWriter in InputStream oder Zeichen-Stream in Byte-Stream Allgemeine Java-Themen 5
M Chart per byte[] in JSP anzeigen Allgemeine Java-Themen 4
E int in byte Allgemeine Java-Themen 6
R ArrayList byte[] abspeichern Allgemeine Java-Themen 4
S byte [] in string und zurück konvertieren Allgemeine Java-Themen 2
G byte ? : Allgemeine Java-Themen 7
hdi Speicherbelegung byte, short, int Allgemeine Java-Themen 8
J byte - hex - byte.. casten Allgemeine Java-Themen 8
R byte[] to String Konvertieren Allgemeine Java-Themen 14
J Hex-String zu byte transformieren Allgemeine Java-Themen 7
T Zu doof für byte-Umrechnung ... Allgemeine Java-Themen 3
F byte[] aus einem BufferedImage Allgemeine Java-Themen 3
L byte -> byte[1] -> byte Allgemeine Java-Themen 2
Kr0e Synchronisieren: boolean,byte,char ? Allgemeine Java-Themen 2
S Überprüfung/Parsen eines Byte-Arrays Allgemeine Java-Themen 9
Semox Byte-Manipulation eines Bildes Allgemeine Java-Themen 7
Meldanor For-Schleifen - byte statt int? Allgemeine Java-Themen 11
C int zu byte cast - verständnis Allgemeine Java-Themen 3
MQue Byte to Int convertieren Allgemeine Java-Themen 2
R Double Werte aus byte[] auslesen Allgemeine Java-Themen 5
W Verwendung von byte Allgemeine Java-Themen 9
G zu lange Byte code dateien Allgemeine Java-Themen 6
E Byte [] nach hex, dann nach dec Allgemeine Java-Themen 2
A Performance: byte[] in byte[][][] konvertieren Allgemeine Java-Themen 2
G 2 x byte zusammenkopieren Allgemeine Java-Themen 7
G byte nach int Allgemeine Java-Themen 3
foobar Object to byte[] ohne Serializable Allgemeine Java-Themen 6
data89 Die Größe eines Strings in Byte berechnen? Allgemeine Java-Themen 12
G Byte- List mit einem Iterator durchlaufen Allgemeine Java-Themen 5
W Konflikt byte->int, in.read->arraycopy Allgemeine Java-Themen 7
T "unsigned" byte[] -> BigInteger Allgemeine Java-Themen 2
F byte in hex-String oder: Wer hat in Mathe aufgepasst Allgemeine Java-Themen 3
T Socket Server Anwendung - Empfang eines Byte-Arrays Allgemeine Java-Themen 7
J NumberFormatException bei String->byte[] Allgemeine Java-Themen 12
T Object -> byte[] Allgemeine Java-Themen 5
G Byte[] zeichenweise lesen Allgemeine Java-Themen 4
G byte[] mit Strings füllen Allgemeine Java-Themen 2
B int -> byte Allgemeine Java-Themen 2
G file --> byte[] Allgemeine Java-Themen 7
E Problem beim Dateien kodieren ("Byte = Byte +1") Allgemeine Java-Themen 3
I String -> byte[] -> String Allgemeine Java-Themen 2
D byte nach integer? Allgemeine Java-Themen 4
MQue int in byte Allgemeine Java-Themen 18
G Maximalgröße von byte[] buffer Allgemeine Java-Themen 7
E String -> byte[] Allgemeine Java-Themen 6
C Byte[] to String Allgemeine Java-Themen 7
D byte[] problem Allgemeine Java-Themen 3
T OutputStream - Event bei Byte-Fluss Allgemeine Java-Themen 5
S Problem beim Einlesen von byte-werten aus datei Allgemeine Java-Themen 2
F List<String> zu byte[] Allgemeine Java-Themen 7
L byte vs. int Allgemeine Java-Themen 6
G Umwandlung Byte in Integer Allgemeine Java-Themen 12
N Byte-Code entschlüsseln (Bitmasks?) Allgemeine Java-Themen 3
R byte - string? Allgemeine Java-Themen 10
R Stream Byte für Byte durchgehen Allgemeine Java-Themen 5
S java.io.InputStream.read(byte[] b) überschreiben Allgemeine Java-Themen 33
L byte[] to int Allgemeine Java-Themen 2
M Vector zu einem byte[] Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben