ArrayList index auf gültigkeit prüfen

DuffCola

Aktives Mitglied
Nein, ich meine wenn ich einen Index habe, der auf ein bestimmtes element in der Array Lsit zeigen SOLLTE, wie überprüfe ich ob der Index gültig ist ?
Muss ich einfach die Methode get aufrufen und eine eventuelle Out of Bounds exception auffangen oder gibt es eine schönere Lösung ?
 

Gucky

Top Contributor
Ja die gibt es. Du guckst nach, ob der Index kleiner ist, als die Größe der Liste. :D Ich verstehe dein Problem nicht.

Du hast eine Liste der Länge 3 und jetzt willst du gucken, ob der Index 5 gültig ist?
 

VfL_Freak

Top Contributor
Moin,

ich fürchte eher, dass er Länge = 5 hat und Index 3 prüfen will :eek:

@TO: erkläre mal, was Du hier genau unter Gültigkeit verstehst!

Gruß
Klaus
 

DuffCola

Aktives Mitglied
Also,
das problem ist, dass eine ArrayList, wenn man ein element löscht das Array intern nicht verkleinert wird.
So könnte man ausversehen auf ein element zugreifen, das schon vorher wieder gelöscht wurde.
Aber ich denke man kann es relative einfach überprüfen, indem man einfach den Rückgabewert der get funktion nach null überprüft.
Oder?
 

VfL_Freak

Top Contributor
Moin,

bitte was :eek: ???:L
Du löscht ein Element und kannst danach wieder drauf zugreifen ???:L

Erkläre doch mal genau was Du meinst!

Gruß
Klaus
 

Gucky

Top Contributor
Ich glaube er weiß nicht genau, wie eine ArrayList funktioniert. Das Array hat eine bestimmte Größe. Wenn du ein Element hinzufügst, dann wird oben eins draufgepackt. Sind es zu viele Elemente wird das Array vergrößert.
Wenn du ein Element löschst, dann "rutschen" alle Elemente darüber einen nach unten. Es ist nicht so, dass der Platz dann einfach ausgespart wird und gefüllt wird, wenn wieder was dazukommt.
Die Gültigkeit eines Indexes kannst du also entweder unelegant mit einer Exception oder elegant mit der Größe der Liste prüfen.
 

Natac

Bekanntes Mitglied
Falls es dich stört, dass das Array (was die ArrayList für dich verwaltet) zu groß ist, bietet sich die Methode
Code:
trimToSize()
an.
 

DuffCola

Aktives Mitglied
Also, was ich eigentlich wollte ist folgendes.
Ich will Elemente ablegen, die immer den selben Index haben, dann will ich mithilfe des Indexes auf sie zugreifen, sprich das Objekt selbst bekommen oder das Element löschen.
Besonders wichtig ist, dass ich beim hinzufügen immer den Index bestimmen kann und, dass das hinzugefügte Element immer seinen hinzugefügten Index beibehält.
Wobei die Geschwindigkeit/Performance extrem wichtig ist.

Sorry, wenn ich mich hier irgendwie vertan habe, aber ich dachte eigentlich das ich das mit der ArrayList machen könnte?
Mir fällt gerade ein, das man doch eigentlich einen Map verwenden kann, jedoch wäre die längst nicht so schnell wie ein Array auf das man zugreifen könnte.
Insbesondere muss man schnell auf Elemente zugreifen.
Also brauche ich ein art vergrößerbares Array, dessen Elemente immer den selben beim hinzufügen angegeben Index beibehält.

Ich hoffe jemand versteht was ich meine und kennt vielleicht eine bestehende Klasse bzw. Collection.
 

Gucky

Top Contributor
Wenn es nicht unbedingt generisch sein muss, kannst du dir auch schnell eine Liste selber zusammenzimmern. Das dürfte nicht allzu kompliziert sein. Es kostet aber auch nicht viel die Liste zu durchforsten und auf das richtige Element zu prüfen.
 
Zuletzt bearbeitet:

DuffCola

Aktives Mitglied
Ja das werde ich wohl machen müssen.
Aber es kommt besonders auf geschwindigkeit, aufgrund dessen das es sich um ein spiel handelt.
Danke.
 

Natac

Bekanntes Mitglied
Du kannst hierfür auch wunderbar eine ArrayList nehmen. Das Element zu "löschen" kann ja auch heißen, den enstsprechenden Index auf [c]null[/c] zu setzen. Dann musst du dir Arrayverwaltung nicht aufhalsen, die Indizes bleiben aber trotzdem konstant.

Und wenn ein Eintrag eben [c]null[/c] ist, dann weist du, dass er gelöscht wurde.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
GianaSisters Klassen ArrayList Index Integer int Allgemeine Java-Themen 5
Jats ArrayList-Error Index: 1 Size:1 - Bitte um Hilfe Allgemeine Java-Themen 36
M ArrayList oder LinkedList Allgemeine Java-Themen 10
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
T Remove bei ArrayList funktioniert nicht Allgemeine Java-Themen 2
B Type mismatch: cannot convert from Graph.Edge to ArrayList<Graph.Edge> Allgemeine Java-Themen 21
R ArrayList Allgemeine Java-Themen 4
G jToggleButton in Array/ArrayList Allgemeine Java-Themen 12
J ArrayList, ganze Zeilen löschen oder überspringen Allgemeine Java-Themen 4
L ArrayList sortieren Allgemeine Java-Themen 2
C ArrayList Problem Allgemeine Java-Themen 3
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7
S Best Practices CopyConstrutor mit ArrayList Allgemeine Java-Themen 1
S ArrayList Design Allgemeine Java-Themen 4
S Array dynamisieren oder ArrayList verwenden? Allgemeine Java-Themen 17
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
H Elemente aus ArrayList in Array speichern Allgemeine Java-Themen 8
MiMa Person in einer Arraylist hinzugügen mit Prüfung ? Allgemeine Java-Themen 6
X Adjazenzliste ohne ArrayList Allgemeine Java-Themen 6
X Output von ArrayList Allgemeine Java-Themen 3
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
H Mehrere Datentypen in einer Arraylist speichern Allgemeine Java-Themen 9
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
MiMa ArrayList sortieren?? Allgemeine Java-Themen 5
Curtis_MC Pointer mit ArrayList vergleichen Allgemeine Java-Themen 6
F ArrayList`s in Klassen mit Getter/Setter Allgemeine Java-Themen 8
W Array vs. ArrayList vs. HashMap Allgemeine Java-Themen 20
F Arraylist vollständig abspeichern und laden Allgemeine Java-Themen 1
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
D ArrayList Indexlänge ändern Allgemeine Java-Themen 2
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
K ursprüngliche ArrayList ändert sich bei Übergabe in Methode Allgemeine Java-Themen 18
N Mehrdimensionale ArrayList mischen Allgemeine Java-Themen 10
S JTable - mehrere ausgewählte Rows in ArrayList Allgemeine Java-Themen 5
MiMa Date aus einer ArrayList<Date> holen ?? Allgemeine Java-Themen 5
MiMa ArrayList Rückgabewerte aus einer Funktion Allgemeine Java-Themen 15
L CSV File lesen, in ArrayList speichern und ausgeben Allgemeine Java-Themen 3
M Was geschieht mit Java-Klasse, die aus ArrayList entfernt wird? Allgemeine Java-Themen 10
M Methoden Generische Methode für ArrayList Allgemeine Java-Themen 7
T Collections ArrayList Sortieren Allgemeine Java-Themen 4
P GUI: ArrayList anzeigen funktioniert nicht Allgemeine Java-Themen 5
H ArrayList: Leere Elemente finden? Allgemeine Java-Themen 2
GreenTeaYT Verständnisprobleme zur Arraylist Allgemeine Java-Themen 1
T Methoden Methode zum durchsuchen einer ArrayList Allgemeine Java-Themen 8
K ArrayList sortieren Allgemeine Java-Themen 16
A Bestimmte Inhalte aus ArrayList 1 in ArrayList 2 kopieren Allgemeine Java-Themen 6
S Mehrdimensionales ArrayList ins HashSet Allgemeine Java-Themen 10
C ArrayList Allgemeine Java-Themen 8
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
Z NullPointerException beim Schreiben einer ArrayList in eine Datei Allgemeine Java-Themen 6
L Von ArrayList abgeleitete Klasse nur mit bestimmten Objekten füllen Allgemeine Java-Themen 1
K Array in ArrayList Allgemeine Java-Themen 16
Paul15 2D Arraylist in Jtable Allgemeine Java-Themen 1
Paul15 Arraylist 2D Allgemeine Java-Themen 8
B ArrayList in ein Objekt legen Allgemeine Java-Themen 1
Neumi5694 Datentypen ArrayList vs TreeMap Allgemeine Java-Themen 6
F ArrayList Allgemeine Java-Themen 11
X ArrayList will nicht so wie ich will. Hilfe Allgemeine Java-Themen 8
N ArrayList in eigenem Object nicht richtig serialisierbar Allgemeine Java-Themen 14
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
Z Elemente einer ArrayList von rechts wegnehmen Allgemeine Java-Themen 5
W Arraylist Text Suchen und Datei löschen Allgemeine Java-Themen 5
R ArrayList und HashMap Allgemeine Java-Themen 7
T ArrayList zeilenumbruch entfernen Allgemeine Java-Themen 13
D Arraylist/For Schleife/Scanner Allgemeine Java-Themen 30
E ArrayList Anzahl der gleichen Elemente Allgemeine Java-Themen 4
Doopy ArrayList plötzlich leer Allgemeine Java-Themen 2
D Arraylist eigener Klasse an iReport übergeben Allgemeine Java-Themen 7
L ArrayList Inhaltstyp. Allgemeine Java-Themen 5
Z Klassen ArrayList selbst machen Allgemeine Java-Themen 5
J Arraylist speichern und laden? Allgemeine Java-Themen 5
C Generics Objekt in ArrayList Allgemeine Java-Themen 2
M ArrayList<String> Frage Allgemeine Java-Themen 7
O ArrayList kaputt?! Allgemeine Java-Themen 5
M ArrayList<Foo> in ein Foo[] konvertieren? Allgemeine Java-Themen 8
Bananabert Abstract ArrayList Allgemeine Java-Themen 4
A Collections Array-Elemente in ArrayList kopieren ohne Schleife Allgemeine Java-Themen 7
O ArrayList - Serialisierungs-Problem Allgemeine Java-Themen 11
M JTable + ArrayList Allgemeine Java-Themen 3
M Datentypen ArrayList in Integer konvertieren Allgemeine Java-Themen 3
O Collections ListIterator gibt Inhalt von ArrayList nicht aus Allgemeine Java-Themen 3
Madlip Variablen 3 Werte aus ArrayList und weiter ... Allgemeine Java-Themen 4
S arraylist nach n. Eintrag numerisch Sortiren Allgemeine Java-Themen 5
O Problem beim Auslesen einer Arraylist von JComboBoxen Allgemeine Java-Themen 2
R Threads korrekte Synchronisation bei Vector und ArrayList Allgemeine Java-Themen 6
M Kovariante Rückgabewerte mit ArrayList Allgemeine Java-Themen 3
H LinkedList<LinkedList<String>> nach ArrayList<ArrayList<String>> ? Allgemeine Java-Themen 9
E NetBeans Vector durch ArrayList ersetzen Allgemeine Java-Themen 4
Maxim6394 Problem mit ArrayList Allgemeine Java-Themen 5
E Berechnung in Arraylist Allgemeine Java-Themen 10
E ArrayList mit unbekannter Größe Allgemeine Java-Themen 8
V Fork Join bei Arraylist Allgemeine Java-Themen 6
H Fehler in Arraylist Allgemeine Java-Themen 2
S Datensätze in eine ArrayList<Movie> speichern Allgemeine Java-Themen 13
S Alle Kombinationen aus ArrayList - Potenzmenge Allgemeine Java-Themen 7
V ArrayList vergleichen mit .equals? Allgemeine Java-Themen 13
J ArrayList-Problem Allgemeine Java-Themen 16
S Von einer ArrayList in die andere schreiben? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben