Arrays -> dynamisch

Status
Nicht offen für weitere Antworten.

e9926044

Bekanntes Mitglied
Hallo,

ich möchte mir ein Array erstellen wie unten, aber nicht die fixe Größe angeben sondern eben wie unten und in einem anderen Programmteil dann in dieses Schreiben. Leider bekomme ich die Fehlermeldung "cannot find symbol".
Ich schätz mal das hängt damit zusammen, dass ich nicht die fixe Größe angeben, oder.
Vielleicht hat dajemand eine Idee.


VielenDANK.

lg
Hannes


Code:
int[] inputWerte = new int[bildGroesse-headerVariable];  // Array erstellen

inputWerte[bildGroesse-headerVariable] = b;                 // in Array schreiben
 
S

SlaterB

Gast
versuche mal
int x = bildGroesse-headerVariable;

das wird genauso wenig funktionieren, hat also mit Arrays nicht zu tun,

was sind das für zwei Variablen? wieso sollte der Compiler sie in dieser Situation finden?
er sagt dir dass er das nicht tut
 
G

Guest

Gast
Wie kann ich dann Arrays dynamisch erstellen?

ich möchte keine fixe Größe vorgeben sondern zur LAufzeit bestimmen wie groß das Array ist.

Vielen Dank

lg
HAnnes
 
S

SlaterB

Gast
ein Array wird im Grunde immer "erst zur Laufzeit dynamisch" erstellt,
anstelle new int[4] kannst du
new int[variable]
oder auch
new[operation()]
oder beliebiges anderes in Java erlaubtes schreiben

gerne auch
new int[(int) (Math.pow((variable1*34)-var2-var3, .................))]
usw. ;)
 
S

Spacerat

Gast
Der "Vector" ist stets eine gute Wahl (naja... nicht immer, aber immer öfter...).

Der Vector hat nämlich mit Primitivtypen (boolean, byte, short, int, long, float und double) so seine Mühe, da ihm nur Objekte hinzugefügt werden können. Ab Java-Version 1.5 allerdings gibt es das sog. In- Outboxing, womit new Vector<Integer>() kein Prob mehr darstellen dürfte.
Wird letztens doch noch ein Array benötigt, kann man mit "int array[] = new int[vector.size()]" ein solches erstellen und mit "vector.copyInto(array)" dieses mit den aktuellen Daten füllen.

cu Spacerat
 
S

Spacerat

Gast
@Wildcard: Was ist denn am Vector vermurkst? (Ne... ehrlich... ohne sch... hab' keine Ahnung... :shock: )
 

WieselAc

Top Contributor
Wenn ich das richtig im kopf hab, ist ein vektor intern ein array. Wenn es voll ist, wird es komplett in ein doppelt so großes array kopiert. Bin mir nicht so ganz sicher.
 
S

SlaterB

Gast
das ist bei der ArrayList genauso ;)

aber die ArrayList hat keine synchronisierten Operationen
-> unsicher bei gleichzeitigen Zugriff mehrerer Threads, dafür schneller
 

The_S

Top Contributor
SlaterB hat gesagt.:
das ist bei der ArrayList genauso ;)

aber die ArrayList hat keine synchronisierten Operationen
-> unsicher bei gleichzeitigen Zugriff mehrerer Threads, dafür schneller

Was aber ohnehin kein A... merkt, wenn es nicht um Unmengen an Daten oder jede Millisekunde geht.
 

Wildcard

Top Contributor
Es geht um die vermurkste API die nachträglich an die List Schnittstelle angepasst wurde.
Das hat zur Folge das der Vector zur Verwendung von Methoden verleitet die in List einen anderen Namen haben, wodurch er später nicht mehr austauschbar ist.
 

Illuvatar

Top Contributor
Man sollte ja eh nicht schreiben
Vector<X> v = new Vector<X>();
sondern
List<X> l = new Vector<X>(); :bae:

Und @Hobbit: synchronized ist theoretisch schon ziemlich viel langsamer - du hast Recht, ein paar Aufrufe müssen schon zusammenkommen, damit mans merkt, aber wenn es ArrayList als Alternative gibt, warum Vector nehmen? ;)
 

Wildcard

Top Contributor
Illuvatar hat gesagt.:
Man sollte ja eh nicht schreiben
Vector<X> v = new Vector<X>();
sondern
List<X> l = new Vector<X>(); :bae:
Sollte man....
leider zeigt die Erfahrung (auch in meiner Firma) das Leute die Vector statt ArrayList nehmen eben
Vector<x> v = new Vector<x> schreiben... :roll:
 

AlArenal

Top Contributor
moormaster hat gesagt.:
Vector ist Bestandteil der API; wieso sollte man den in jeder Situation austauschbar halten?

Weil du heute nicht nicht weißt welche Anforderungen du morgen in deiner Anwendung umsetzen musst, darum wird allerorten gepredigt wo möglich gegen Interfaces und nciht gegen Klassen zu programmieren, weil das die Wartbarkeit des Codes erhöht, indem es nachträgliche Änderungen und Refactorings erleichtert / ermöglicht.
 

moormaster

Top Contributor
AlArenal hat gesagt.:
moormaster hat gesagt.:
Vector ist Bestandteil der API; wieso sollte man den in jeder Situation austauschbar halten?

Weil du heute nicht nicht weißt welche Anforderungen du morgen in deiner Anwendung umsetzen musst, darum wird allerorten gepredigt wo möglich gegen Interfaces und nciht gegen Klassen zu programmieren, weil das die Wartbarkeit des Codes erhöht, indem es nachträgliche Änderungen und Refactorings erleichtert / ermöglicht.

Das ist mit jeder besseren IDE mit Hilfe von Refactoring im Falle des Vector's genauso schnell erledigt.
 
B

Beni

Gast
Glaub ich nicht: stell dir mal vor du benutze eine Methode die nur der Vector bietet ("addElement" zum Beispiel), und jetzt versuch den Vector durch eine LinkedList zu ersetzen... da musst du all die Methodenaufrufe von Hand umbiegen.
 

AlArenal

Top Contributor
moormaster hat gesagt.:
Das ist mit jeder besseren IDE mit Hilfe von Refactoring im Falle des Vector's genauso schnell erledigt.

Du bedenkst nicht die Konsequenzen. Denk an eine API in der Methoden einen Vector zurückliefern oder als Parmeter erwarten. Gegen Interfaces programmieren heißt der übblichen Praxis zu folgen die Implementierung nach außen hin zu verbergen und nachträglich eine API zu ändern ist in "Hello World!" kein Problem, führt in der Praxis aber zu einem Rattenschwanz an Änderungen in allen darauf aufbauenden Projekten.

Es soll ja auch Leute und Firmen geben, die Librarys produzieren. Manche nur für internen Gebrauch, manche auch als Produkte...
 

moormaster

Top Contributor
Ja gut wenn mans so sieht... ich hab eher die interne Verwendung der Vectorklasse im Kopf gehabt, ohne dass diese nach aussen hin in Rückgabewerten oder Parametern auftaucht. :D
Meistens existiert die Schnittstelle ja vor der Implementierung und dann taucht Vector da schon von Anfang an nicht nach "aussen" hin auf, weil dann ja eh mit eigenen (oder geeigneten vordefinierten) Schnittstellen gearbeitet wird.
 

AlArenal

Top Contributor
Ich mache es intern aber auch nicht anders, denn alles was ich von einem Vector brauchen könnte ist im List-Interface enthalten. Mich interessiert ehrlich gesagt nicht ob etwas ein Vector oder eine ArrayList ist, ich will doch bloß was reinschieben, rausholen, schauen obs drin ist...
 
S

Spacerat

Gast
Wildcard hat gesagt.:
Es geht um die vermurkste API die nachträglich an die List Schnittstelle angepasst wurde.
Das hat zur Folge das der Vector zur Verwendung von Methoden verleitet die in List einen anderen Namen haben, wodurch er später nicht mehr austauschbar ist.

Das hab' ich so noch gar nicht gesehen, aber da ist durchaus was dran. Und äh ups, dann sollte wohl doch 'ne ArrayList verwendet werden.

Dummerweise hätte mir das aber auffallen müssen, als ich mir eine Sorted-List bauen wollte. Kurzerhand den Vector erweitert und überflüssige Methoden (z.B. alle, die mit index auf das Array zugreifen) einfach leer gelassen. Was solls, manchmal ist man halt selbst so dermassen mit 'nem Spaten gestreichelt, das man auf die einfachsten Sachen nicht kommt.

cu Spacerat

@Edit02032007: Bin da in Eclipse auch noch auf folgendes gestossen: "public class Vector<XX> extends Arraylist implements ...". Was soll das denn? Hab' so langsam das Gefühl, "Vector ist stets letzte Wahl".
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ü Arrays vergleichen Allgemeine Java-Themen 59
Ü Methoden Arrays vergleichen - Methode Allgemeine Java-Themen 1
Ü Eurobeträge in möglichst wenig Scheine/Münzen zerlegen (2D-Arrays) Allgemeine Java-Themen 27
Buroto Arrays generator Allgemeine Java-Themen 10
B Arrays von Methoden möglich? Allgemeine Java-Themen 44
rosima26 Bester Sortieralgorithmus für kurze Arrays Allgemeine Java-Themen 40
B Lottospiel, genug Reihen tippen für 3 Richtige (Spaß mit Arrays)? Allgemeine Java-Themen 46
Muatasem Hammud Erstellung von Testdaten für Arrays Allgemeine Java-Themen 6
Junger_Basileus Attribute, Arrays, Schleifen Allgemeine Java-Themen 9
P Generics und Arrays Allgemeine Java-Themen 6
O Arrays an DOCX-Stamper Library übergeben Allgemeine Java-Themen 1
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
R Spalten/Zeilen verschieben in zweidimensionalen Arrays? Allgemeine Java-Themen 3
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
W Spaß mit Arrays Allgemeine Java-Themen 1
W Reflexion und Arrays Allgemeine Java-Themen 7
S Problem mit Arrays Allgemeine Java-Themen 1
D Erste Schritte Arrays vergleichen und die zahlen die nur einmal vorkommen ausgeben Allgemeine Java-Themen 5
J int Werte in einer anderen Klasse in Arrays speichern Allgemeine Java-Themen 3
Neoline Interpreter-Fehler Probleme mit Arrays.toString Allgemeine Java-Themen 7
H Zweidimensionale Arrays Allgemeine Java-Themen 6
Neoline Methoden Zwei Arrays abwechselnd zusammenführen Allgemeine Java-Themen 15
J Methoden clone(), arraycopy(): ein- und zweidimensionale Arrays Allgemeine Java-Themen 8
D Übereinstimmungen in Arrays Allgemeine Java-Themen 5
B Arrays mit Text und Zahlen füllen Allgemeine Java-Themen 3
B Spalten eines 2d-Arrays Allgemeine Java-Themen 2
J Arrays auf gleichheit untersuchen funktioniert nicht Allgemeine Java-Themen 11
N 2 Arrays abwechselnd verbinden Allgemeine Java-Themen 13
J private and arrays Allgemeine Java-Themen 2
T Alle Kombinationen aus zwei Arrays Allgemeine Java-Themen 8
RalleYTN Datentypen Herausfinden ob Object ein Array ist ohne den Typen des Arrays zu kennen? Allgemeine Java-Themen 12
R Rückgabe eines Arrays durch Funktion Allgemeine Java-Themen 9
H Datentypen Typ eines Arrays überprüfen Allgemeine Java-Themen 9
C Zweidimensionale Arrays - Quadratisch? Allgemeine Java-Themen 4
AssELAss Zwei Arrays / ArrayLists inhaltlich vergleichen Allgemeine Java-Themen 2
A Lineare Interpolation mit zwei Arrays Allgemeine Java-Themen 4
S Datentypen Warum ist bei Arrays die Länge als Property aufrufbar? Allgemeine Java-Themen 1
Dechasa Vergleichen von zwei Arrays Allgemeine Java-Themen 4
DanielsLPecke Java Arrays an andere Java Programme schicken und zurück Allgemeine Java-Themen 5
H Arrays Allgemeine Java-Themen 4
J NullPointerExeption bei Inizialisierung eines Arrays Allgemeine Java-Themen 3
D Größe der Zahlenkombinationen eines Arrays begrenzen Allgemeine Java-Themen 3
B automatisch benannte arrays erstellen Allgemeine Java-Themen 9
Y inhalte aus 2 unterschiedlichen Arrays miteinander vergleichen Allgemeine Java-Themen 12
M Arrays.sort Problem Allgemeine Java-Themen 2
F Arrays Allgemeine Java-Themen 2
F Arrays Allgemeine Java-Themen 4
N Werte aus Arrays auslesen funktioniert nicht Allgemeine Java-Themen 5
F mehrdimensionale Arrays Allgemeine Java-Themen 4
A Methoden Generische Methode mit Arrays - Source Compatibility 1.7 benötigt, wieso? Allgemeine Java-Themen 3
S Java Problem bei der Rückgabe eines Arrays Allgemeine Java-Themen 19
I Verschiedene Arrays auslesen Allgemeine Java-Themen 6
R Wie kann man diese Methoden in arrays etablieren? Allgemeine Java-Themen 8
C Best Practice [Arrays] Wie sinnvoll prüfen, ob Array primitive Datentypen enthält? Allgemeine Java-Themen 6
C Best Practice Tiefe Kopie eines Arrays unbekannter Dimension und unbekannten Typs Allgemeine Java-Themen 4
R kann man irgendwie mit Arrays mit Eingabefenstern und Schleifen Werte abklappern? Allgemeine Java-Themen 2
R Was los mit dieser Aufgabe? Arrays mit Schachbrettmustern? Allgemeine Java-Themen 10
M Eingabe von Arrays geht über gewünschte Anzahl hinaus Allgemeine Java-Themen 2
K Methoden Arrays auf true Werte prüfen Allgemeine Java-Themen 4
T String Arrays aus den Argumenten auslesen Allgemeine Java-Themen 3
E ArrayIndexOutOfBounds - mehrdimensionale Arrays Allgemeine Java-Themen 6
D Arrays überschreiben sich Allgemeine Java-Themen 2
C Klonen von Arrays/ Matrizenrechnung Allgemeine Java-Themen 2
K Mehrere Arrays auf einmal erstellen Allgemeine Java-Themen 2
P Arrays erzeugen Allgemeine Java-Themen 5
R ListIterator über mehrere Arrays Allgemeine Java-Themen 13
S Variablen Dynamische Arrays Allgemeine Java-Themen 2
O Variablen System.getenv: Sinnlose Werte, Arrays?! Allgemeine Java-Themen 6
C Arrays.asList() - Problem Allgemeine Java-Themen 3
M problem mit speicherbedarf von arrays Allgemeine Java-Themen 14
B Generics und primitve arrays Allgemeine Java-Themen 6
V Umbennen von Arrays Allgemeine Java-Themen 7
M Einfluss von Caching auf die Performance (große Arrays) Allgemeine Java-Themen 24
A Frage zu Arrays Allgemeine Java-Themen 6
S Werte aus 2 eindimensionale boolean arrays mithilfe von logischen operatoren berechnen Allgemeine Java-Themen 6
R Methoden Rückgabe Arrays aufangen Allgemeine Java-Themen 29
T Arrays erstellen Allgemeine Java-Themen 3
C Zwei Arrays vereinen Allgemeine Java-Themen 3
J Array Sortierung auf andere Arrays anwenden Allgemeine Java-Themen 6
D Vertauschen von arrays vom Typ String Allgemeine Java-Themen 2
BattleMaster246 Arrays funktionieren nicht Allgemeine Java-Themen 6
S "Arrays" mit String-Key? Allgemeine Java-Themen 3
L verkettete Listen oder Arrays + Indexlisten effizienter? Allgemeine Java-Themen 3
S Überprüfung/Parsen eines Byte-Arrays Allgemeine Java-Themen 9
Developer_X Aus Datei in Arrays laden-Problem Allgemeine Java-Themen 5
O Problem beim Ausgeben von Arrays Allgemeine Java-Themen 9
G Arrays.toString Allgemeine Java-Themen 4
S to string mit arrays Allgemeine Java-Themen 10
S Objekte mit Arrays Allgemeine Java-Themen 9
Meldanor Mehrdimensionale Arrays : Zugriff auf n-tes Array Allgemeine Java-Themen 5
K Arrays.asList und primitive Typen Allgemeine Java-Themen 2
P Beschreibung eines Arrays Allgemeine Java-Themen 3
S Rücklieferung eines String-Arrays über Methode? Allgemeine Java-Themen 3
lacco Speicherverbrauch von Arrays Allgemeine Java-Themen 2
J Mit mehrdimensionalen Integer-Arrays arbeiten Allgemeine Java-Themen 17
knuckles12 null pointer exception bei arrays Allgemeine Java-Themen 6
H2SO3- dynamisches anlegen der dimensionaltität eines arrays Allgemeine Java-Themen 6
G Arrays von Klassen initialisieren Allgemeine Java-Themen 13
D Felder (Arrays) Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben