een arraylist in een arraylist doorzoek

Status
Niet open voor verdere reacties.

jibbs

Gebruiker
Lid geworden
31 okt 2006
Berichten
13
hoi ik heb een probleem ik heb een klasse gebruikers en die kan vrienden als object opslaan ik een arraylist
en ik heb een klasse mymate die kan gebruikers als object opslaan in een arraylist
nu wil ik dat je via mymates kan zoeken naar gebruikers die dezelfde vriend hebben

dit is de code die ik heb maar die werkt niet:
public void dezelfdeVriend(String dezelfdeVriend)
{
System.out.println("De volgende mensen hebben "
+ dezelfdeVriend + " ook als vriend");
Iterator it = gebruikers.iterator();
while(it.hasNext()) {
Gebruiker gebruikers = (Gebruiker) it.next();
if(vrienden.equals(dezelfdeVriend)) {
System.out.println(vrienden.naam);
}
}

weet iemand misschien een oplossing
alvast bedankt
 
Je hebt dus 2 verschillende arraylists: 1 met gebruikers en 1 met vrienden?

Hoe zitten deze arraylists dan gekoppeld?

Of begrijp ik het verkeerd?
 
Wat is 'vrienden' in je code?

het lijkt me dat vrienden jouw arraylist van vrienden is, en dan doe jij:
Code:
vrienden.equals(dezelfdeVriend)
terwijl dezelfdeVriend een string is. Je kan geen appelen en peren vergelijken, maar ook geen ArrayList met een String ;)

probeer mss zoiets (ongetest):
Code:
public void zelfdeVrienden(String wie)
{
    System.out.println("De volgende mensen hebben "+ wie + " ook als vriend");
    //overloop de eigen vriendenlijst
    Iterator it = myMates.iterator();
    //voor elke vriend die ik heb
    while(it.hasNext()) {
        Gebruiker mijnVriend = (Gebruiker) it.next();
        //overloop zijn vriendenlijst
        Iterator it2 = mijnVriend.getMates();
        //voor elke vriend van mijn vriend
        while (it2.hasNext()) {
            Gebruiker zijnVriend = (Gebruiker) it2.next();
            //is de naam van zijn vriend dezelfde als wie we zoeken ?
            if (zijnVriend.getNaam().equals(wie)) {
                //dezelfde vriend -> zijn naam afdrukken
                System.out.println(mijnVriend.getNaam());
            }
        }
    }
}

Waarbij getNaam() een methode van gebruiker is en zijn naam als String returned.
en
Waarbij getMates() een methode van gebruiker is die een iterator op zijn vriendenlijst geeft.

Ik denk dat dit het wel ongeveer zou moeten doen,
--Johan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan