ArrayList doorzoeken

Status
Niet open voor verdere reacties.

Mitsie007

Gebruiker
Lid geworden
21 okt 2006
Berichten
276
Hoi,

ik heb een vraag en geen idee of het kan. Stel...

Ik heb een ArrayList en wil deze laten doorzoeken op een waarde. Geen integer maar dus een String. Kan dit?
Even een simpel voorbeeld;

Ik heb drie klasses:
Administratie, Student, Tentamen.

Administratie bevat een ArrayList van Student, Student bevat een ArrayList van Tentamen. Ik wil bij de administratie de gegevens van één student opzoeken (op naam).

Kan dit?
 
dank je voor het letterlijk beantwoorden van mijn vraag...

Zou je mij misschien ook uit willen of kunnen leggen hoe?
 
Zoals prometheuzz al zei, dit kan.

Ik weet alleen niet of ik je helemaal snap.


Mijn vage interpretatie komt uit op iets als:

Code:
for (int i = 0; i < Administratie.size() ; i++){
     private Student temp = Administratie.get(i);
     if(temp.getName().equalsIgnoreCase(studentnaam)){
           private Tentamen tentamenlijst = temp.getTentamens();
           for (int j = 0; j < tentamenlijst.size() ; j++){
                System.out.println(tentamenlijst.get(j).getCijfer());
           }                
     }
}

Hierbij ga ik ervanuit dat Administratie een ArrayList met Strings is.
Dat Student een klasse is, met een methode getName(). Deze zou een String returnen.
Dat Student een methode heeft die getTentamens() heeft. Deze returned een ArrayList met Tentamens.
Dat Tentamen een klasse is, die in ieder geval de methode getCijfer() heeft.

Probeer de volgende keer even een stukje code erbij te zetten. Dat geeft een iets duidelijk beeld van hoe het nu in elkaar steekt.

Gr,
Bart
 
De code van Mitsie007 zal goed werken.. Maar het kan nog eevoudiger..

de Arraylist heeft nog twee functies indexOf(..) en contains(..)..

If (adminstratie.contains("naam student") {
Student student = adminstratie.get(administratie.indexOf("naam student");
}

de indexOf(..) geeft -1 als de waarde niet gevonden is.. dus als je adminstratie.get(-1) doet krijg je een index out of bounds exceptie vandaar de controle met adminstratie.contains..

zelf zou ik voor een Map gaan ipv een List.. (maar dat zal wel geen onderdeel van je opdracht zijn...) Een Map bestaat uit een Key/value pair... Hier is je student de key en de tentamens de value. Map.get("naam student) zal de tentamens terug geven.. . Het voordeel van map is dat super snel is..
 
De code van Mitsie007 zal goed werken.. Maar het kan nog eevoudiger..

de Arraylist heeft nog twee functies indexOf(..) en contains(..)..

If (adminstratie.contains("naam student") {
Student student = adminstratie.get(administratie.indexOf("naam student");
}

de indexOf(..) geeft -1 als de waarde niet gevonden is.. dus als je adminstratie.get(-1) doet krijg je een index out of bounds exceptie vandaar de controle met adminstratie.contains..

zelf zou ik voor een Map gaan ipv een List.. (maar dat zal wel geen onderdeel van je opdracht zijn...) Een Map bestaat uit een Key/value pair... Hier is je student de key en de tentamens de value. Map.get("naam student) zal de tentamens terug geven.. . Het voordeel van map is dat super snel is..


Ah ja inderdaad :). Java is alweer een tijdje geleden voor mij en dacht dus gelijk aan een forloopje :p
 
Super! dank je! :D

Ik kan weer verder hoor! Goede uitleg, heb het toegepast en hij doet het! dank jullie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan