Pointer mit ArrayList vergleichen

Curtis_MC

Mitglied
Hallo zusammen,
ich habe ein (vermutlich sau) kleines Problem, bei dem ich aber nicht weiterkomme. Ich habe eine ArrayListe und einen Zeiger(vom Typ int), der auf die ArrayListe verweist.
Java:
List MeineListe = new ArrayList();
int zeigerAufListe;


Nun muss ich in einer if()-Bedingung prüfen, wann der Zeiger "zu groß (ist), um auf ein Element der Anweisungsliste zu verweisen". Leider funktioniert mein erster Ansatz:
Java:
if(zeigerAufListe > MeineListe.size()){
//tu etwas...
}
nicht.
Auch ">=" funktioniert nicht. Ich möchte nämlich in den Rumpf der if()-Bedingung gelangen.

Hat jemand vlt. einen Denkanstoß, wie ich den oben zitierten Satz implementieren kann?
Beten Dank schonmal 🙂
 
Zuletzt bearbeitet:
Moin,

was bedeutet "funktioniert nicht " ??
Falls Du nie in Schleife kommst, ist vermutlich "zeigerAufAnweisung" nie größer als "MeineListe.size()" ??
Da hier keiner weiß, was genau Dein "zeigerAufAnweisung" sein soll (vermutlich ja auch ein int wie "zeigerAufListe") und wie es gefüllt wird, sind weitere Aussagen nicht nicht möglich !!

Poste doch mal den gesamten, relevanten Code!
VG Klaus
 
Also ich hätte das so gemacht:
Java:
if(zeigerAufAnweisung > MeineListe.size() - 1){
  //tu etwas...
}
Dein Ansatz mit >= bewirkt aber dasselbe.
 
Zuletzt bearbeitet:
@krgewb Das habe ich auch schon probiert und bringt nichts :/

Meine Frage: ist mein Ansatz so richtig um den zitierten Satz zu implementieren? Falls ja, muss ich etwas in den anderen Methoden ändern, da vermutlich "zeigerAufListe" nie größer wird als "MeineListe.size()" (@VfL_Freak)w
 
wie gesagt, wir wissen hier nicht, was das für ein int-Wert sein soll und wie er gefüllt wird!
Mir ist auch nicht wirklich klar, was Du überhaupt mit Deinem Schnipsel bezweckst!

Moment, ich korrigiere...
Bitte NIE den Ausgangspost verändern!!
Erstens sieht man kaum, WAS Du genau geändert hast, und zweitens führt sowas oft die nachfolgenden Kommentare ad absurdum!!

Und poste bitte mehr Code!
So ist es nur eine Rätselraterei!!

LG Klaus
 
Kann es sein, daß du in C/C++-Denke gefangen bist?
In Java gibt es keine Pointer. Bzw. arbeitet man strenggenommen nur mit Pointern, allerdings heißen die Dinger hier Referenzen.
Aber genug der Klugscheißerei.

Ich hab keine Ahnung was dein Code machen soll, deine Variablenbenennung ist etwas verwirrend. Das Integer, das du da deklariert hast, verwendest du nicht als "Zeiger auf eine Liste". Das würde man so machen:
Java:
ArrayList<Object> list = new ArrayList<>(); //Neue Instanz vom Typ ArrayList

ArrayList<Object> anotherReferenceToList = list;  //anotherReferenceToList und list referenzieren diesselbe ArrayList-Instanz

Du verwendest das Integer vielmehr als Index. Das funktioniert zwar (normalerweise, warum es bei dir nicht funktioniert ist aus deinem Code nicht ersichtlich), aber kann es sein daß du eigentlich das hier suchst:
Java:
ArrayList<Integer> list = new ArrayList<>();

//Fülle list mit lauter Integers

for(Integer someInt : list){
    System.out.println(someInt);
}
 

Neue Themen


Zurück
Oben