Überprüfen, ob Array Elemente hat

Status
Nicht offen für weitere Antworten.
T

thekryz

Gast
Hi,

ich habe ein Array von Knoten ("Vertex", selbst erzeugte Objekte - spielt aber eigentlich keine Rolle ;)) der Größe x. Sagen wir mal x = 8.
Code:
Vertex[] vertexList = new Vertex[8]
Ich will nun überprüfen, ob sich in diesem Array irgendwelche Elemente / Objekte befinden oder nicht. Wie würdet ihr das am Geschicktesten anstellen?
Code:
vertexList.length();
gibt leider nur die "möglichen" Elemente wieder, aber nicht die tatsächlichen.
Schnelle Antwort wäre toll ^^ Ich nehme mal an, dass es eine einfache gibt - aber per Google konnte ich bisher keine finden. Auch mein schlaues Buch (Handbuch der Java-Programmierung 4.Auflage) konnte mir nicht helfen...

Gruß,
Chris
 
M

maki

Gast
Nimm doch eine Collection (zB. List) anstatt einem "dummen" Array...
 

thekryz

Mitglied
@SlaterB: da macht man jahrelang Java und weiß nicht, ob man gegen null prüfen kann :p
@maki: Geht in dem Fall leider schwerer, da ich eine Begrenzung brauche... sonst müsste ich das abprüfen ;)

Chris
 

thekryz

Mitglied
Na, ich darf nur eine bestimmte Anzahl Elemente darin speichern. Ich hab von Deiner "List" mal auf eine "ArrayList" oder nen "Vector" geschlossen - und die können beliebig viele Elemente speichern.
 
M

maki

Gast
Vector kannst du vergessen, ausser du musst mit Swing arbeiten.

Alle List Implementierungen (ArrayList, LinkedList) sind zwar dynamisch in der Größe, aber auch da kann man die Größe prüfen, dass musst du bei Arrays sowieso, wenn du keine Lust auf IndexOutOfBounds Exceptions hast ;)
 
S

SlaterB

Gast
..macht aus OO- und allgemeiner Programmier-Sicht einen bedeutenden Unterschied
 
M

maki

Gast
IndexOutOfBoundsException abfangen ist für'n Ar...

Sorry, aber solange durch ein Array/Collection iterieren bis eine IndexOutOfBoundsException kommt ist Pfusch.
 

thekryz

Mitglied
Gut, durchiterieren wollte ich ja jetzt nicht... aber wenn es darum geht festzustellen, ob eine Abfrage ins Leere laufen würde, dann kann ich die Exception doch abfangen - dafür ist sie doch da.
Widersprecht mir, ich lerne gerne ;) Aber bis jetzt kann ich den tiefgreifenden Unterschied nicht feststellen.
 
S

SlaterB

Gast
die Exception ist dafür nicht da, sondern für den Programmfluss, wenn man doch mal versehentlich falsch zugreift (an Stelle von Totalabsturz)

ähnliches Beispiel:
Object x = map.get(y);

nun kann man einfach x==null prüfen (ok, das kanntest du ja bisher noch nicht ;) )
oder eine NullPointerException abfangen,

wann immer der Code für das if kürzer ist und keine großartigen Berechnungen beinhaltet,
stellt sich keine Frage, ob man die Exception verwenden sollte,

auch RuntimeExceptions, die man nicht abfangen muss, sind ein sehr guter Hinweis,

an anderen Stellen wie Netzwerkkommunikation, hat man weniger Möglichkeiten, irgendwas vorher zu prüfen,
und ist auf die Exceptions angewiesen

---
so, ein richtiger Grund ist dabei vielleicht nicht dabei,
abgesehen von sehr verschachtelten Code wirst du mit mühsamen try/ catch wohl auch alles nachbauen können,
das stimmt
 
M

maki

Gast
Bloch hat das ganze in seinem Buch (Effective Java) abgehandelt, try/catch beim iterieren/einfügen ist voll daneben, da man diese bedingungen abprüfen kann(!), was der richtige Weg ist.

Abgesehen von der Performance (try/catch ist relativ teuer) ist es schlechter Stil, bläht den Code auf und zeigt das man die API nicht verstanden hat.
 

thekryz

Mitglied
teuer und unübersichtlich waren bis jetzt die besten Gründe. Also werde ich in Zukunft (wie auch bisher) hübsch sauberen Code schreiben und meine Exceptions nur im unvorhergesehenen Fall abfangen ;)
Merci nochmal^^
 
M

maki

Gast
Keine Ursache, Effective Java kann ich nur empfehlen, Bloch ist derjenige der für das Collection Framework, Generics und vieles andere in Java verantwortlich war ;)
 

thekryz

Mitglied
Juhuu, ich darf das Thema nochmal rausholen ;)

Wie sieht's mit int-Arrays aus? Die können offensichtlich nicht auf "null" hin geprüft werden. Behauptet zumindest mein Eclipse ;) Haben int-Arrays einen Standardwert? 0 zB? Oder wie kann ich da überprüfen, ob an einer Stelle im Array ein int steht oder nicht?
0 ist ja auch nicht gleichbedeutend mit "nicht vorhanden"...

Gruß,
Chris
 

Niki

Top Contributor
Ja, der Initialwert bei int-Arrays ist 0. Du könntest es ja am Anfang mit -1 befüllen:
Code:
for(int j = 0; j < iArr.length; j++)
  iArr[j] = -1;
 
M

maki

Gast
Primitive typen können nicht null sein, höchstens 0.

Lieber eine Collection mit Integers oder autoboxing int.
 
S

SlaterB

Gast
das kannst du also gar nicht prüfen, du kannst nur einen der definierten Werte abfragen,
evtl -4983035 als Standard-Wert für 'nix' festlegen
 

thekryz

Mitglied
Hmm, Problem ist, dass in diesem int-Array alle int-Werte auch echte Werte sein könnten. Damit wäre weder 0 noch -1 eindeutig.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Überprüfen ob String Array leer ist Java Basics - Anfänger-Themen 4
G Überprüfen ob einen Array einen Value enthält Java Basics - Anfänger-Themen 13
J Überprüfen ob Leerzeile im String[][] array Java Basics - Anfänger-Themen 2
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
J Überprüfen ob ein Fenster offen ist? Java Basics - Anfänger-Themen 8
Naxon89 Threads Android AysncTask => Überprüfen, ob ein Ergebniss schon vorliegt Java Basics - Anfänger-Themen 5
C Überprüfen eines Programms auf Syntaxfehler Java Basics - Anfänger-Themen 3
CptK Überprüfen ob übergebenes Objekt zu Generics passt Java Basics - Anfänger-Themen 2
G Überprüfen ob alle Ziffern von 1-9 in einem Integer vorhanden sind Java Basics - Anfänger-Themen 6
A Überprüfen, ober eine Zahl Ziffer enthält Java Basics - Anfänger-Themen 12
C Überprüfen eines Queltextes auf Syntax-Fehler und Laufzeitfehler Java Basics - Anfänger-Themen 2
K Überprüfen ob Eingabe ein Float ist Java Basics - Anfänger-Themen 4
P Überprüfen ob Mausklick auf Linie ist? Java Basics - Anfänger-Themen 6
J Überprüfen, ob eine 2D Matrix ein Baum ist Java Basics - Anfänger-Themen 5
J Methoden Überprüfen ob Objekt bereits erstellt wurde Java Basics - Anfänger-Themen 2
J Überprüfen ob String eine Zahl ist Java Basics - Anfänger-Themen 2
T Überprüfen, ob Objekt gelöscht wurde Java Basics - Anfänger-Themen 1
G String Elemente auf Zahlen Überprüfen Java Basics - Anfänger-Themen 21
O Überprüfen ob eine Methode ausgeführt wurde Java Basics - Anfänger-Themen 10
C Überprüfen auf Palindrom Java Basics - Anfänger-Themen 12
B Überprüfen von Strings schlägt fehl Java Basics - Anfänger-Themen 5
S Arbeiten mit einer CSV Datei und Überprüfen von einem Datum in einem Textfeldern Java Basics - Anfänger-Themen 4
C Überprüfen, ob Timer läuft Java Basics - Anfänger-Themen 3
C Problem mit Überprüfen einer Eingabe Java Basics - Anfänger-Themen 5
S Überprüfen auf Permutation Java Basics - Anfänger-Themen 4
K Überprüfen ob Datei vorhanden Java Basics - Anfänger-Themen 2
P Überprüfen, ob String Zeichenfolge enthält Java Basics - Anfänger-Themen 4
I Überprüfen eines Passwortes Java Basics - Anfänger-Themen 5
N Überprüfen ob ein Label angeklickt wurde Java Basics - Anfänger-Themen 3
P Methode zum Überprüfen ob Datei verwendet wird? Java Basics - Anfänger-Themen 3
G Überprüfen wann ein Dokument abläuft? Java Basics - Anfänger-Themen 3
C Überprüfen, ob die eingabe auch buchstaben enthält Java Basics - Anfänger-Themen 6
G Überprüfen ob es ein Link existiert Java Basics - Anfänger-Themen 3
S Überprüfen, ob Tabelle existiert Java Basics - Anfänger-Themen 5
M Überprüfen ob die eingaben in einem JTextField eine Zahl ist Java Basics - Anfänger-Themen 5
H Überprüfen ob Request mit enctype=multipart/form-data Java Basics - Anfänger-Themen 2
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2
J ArrayList in 2D-Array konvertieren. Java Basics - Anfänger-Themen 48
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
P Wieso kann ich als Index für einen Array einen Char angeben? Java Basics - Anfänger-Themen 3
Finn_lol Fehlermeldung bei Schleife mit Array Java Basics - Anfänger-Themen 4
Proxy Chars vor array übergabe toLowerUpcase Java Basics - Anfänger-Themen 14
iAmFaiinez Primzahlen Tester ohne Array Java Basics - Anfänger-Themen 4
S array 2 dimensional treppe Java Basics - Anfänger-Themen 3
S Array 2x2 Blöcke mit 0 und 1 Java Basics - Anfänger-Themen 10
C Array von Klassen Java Basics - Anfänger-Themen 2
julian0507 2Dim-Array Spaltensummen Java Basics - Anfänger-Themen 1
XWing Doppelte Zahlen im Array Java Basics - Anfänger-Themen 8
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
W Items löschen aus String Array vom Custom Base Adapter Java Basics - Anfänger-Themen 2
Proxy Stack erweitern mit neuem Array falls der alte voll ist!? Java Basics - Anfänger-Themen 5
E Array, nächste Zahl zur 5 ausgeben, wie? Java Basics - Anfänger-Themen 42
J Array.list vergleichen Java Basics - Anfänger-Themen 1
W Java-Code mit Array Java Basics - Anfänger-Themen 14
D Reflections & Generisches Array Java Basics - Anfänger-Themen 4
T Array Java Basics - Anfänger-Themen 2
T Array Java Basics - Anfänger-Themen 15
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
Ostkreuz Zweidimensionaler Array Index Java Basics - Anfänger-Themen 2
S String Array Buchstaben um einen gewissen Wert verschieben Java Basics - Anfänger-Themen 4
R Images aus einem Array ausgeben Java Basics - Anfänger-Themen 3
R 2d Array individuell machen Java Basics - Anfänger-Themen 4
D 2D Char Array into String Java Basics - Anfänger-Themen 2
J Array Median bestimmen Java Basics - Anfänger-Themen 6
S Array Maximum bestimmen mit for und foreach Java Basics - Anfänger-Themen 7
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
N Array Java Basics - Anfänger-Themen 1
J Array Mittleren Wert bestimmen Java Basics - Anfänger-Themen 2
D OOP Array einem Objekt zuweisen Java Basics - Anfänger-Themen 2
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
S Inhalte aus Array vergleichen und Max ausgeben Java Basics - Anfänger-Themen 3
M 2d array ohne längen anlegen Java Basics - Anfänger-Themen 4
S Bestimmte werte aus einem Array löschen Java Basics - Anfänger-Themen 2
S Ausgeben wie oft ein Wert in einem Array vorkommt Java Basics - Anfänger-Themen 7
E Reihenfolge der Werte umdrehen (mittels statischem int-Array Java Basics - Anfänger-Themen 3
O 2 Dimensionales Array Java Basics - Anfänger-Themen 6
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
B Array nach Elementwerten sortieren? Java Basics - Anfänger-Themen 1
B Explizit Array definieren geht nicht? Java Basics - Anfänger-Themen 14
D Kleinste Zahl in Array finden die vorher noch errechnet werden müssen. Java Basics - Anfänger-Themen 4
L Gegebenes Array sortieren, indem zufällige Zahlenpaare aus Array ausgewählt werden Java Basics - Anfänger-Themen 14
Say 2-DIM Array Code lesen und verstehen Java Basics - Anfänger-Themen 5
N Array beim erstellen mit Werten füllen Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
Temsky34 Array IndexOf nicht verfügbar Java Basics - Anfänger-Themen 18
belana wie am besten 2D Array von String to Integer Java Basics - Anfänger-Themen 18
S Array mit Methode löschen Java Basics - Anfänger-Themen 2
J Java To String Methode, Array mit For-Schleife Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben