Gå til innhold

(nybegynner) Spørsmål om å gå gjennom en liste


Anbefalte innlegg

Hei!

 

Er ganske så fersk i java, og jobber med en øving her nå.

 

Jeg lurer på om det finnes en ferdig metode som går gjennom en liste av objekter?

 

Altså, jeg har flere objekter av klassen "Person". Og så har jeg en liste av disse; Person[] liste.

 

Og så vil jeg finne ut om f.eks. Person barn1 er i denne "liste" . Må jeg traversere hele listen med en for-løkke for å se om jeg finner en match, eller finnes det en metode ala "liste.finnnesDenne(barn1)" ?

 

Skjønner? :D

 

Håper på litt rask hjelp her! :)

Lenke til kommentar
Videoannonse
Annonse

Ok.

 

Ja, det er tabell det er snakk om, en tabell med objekter (eks Person[] )

 

Men da får man gjøre det på den tunge (og eneste? ) måten da!

 

Takk for svar

Endret av dup
Lenke til kommentar

Kjør gjennom en for løkke..lag en metode i personklassen din som returnerer et navn f.eks som:

 

public String hentNavn(){

return navn;

}

 

for eksempel, om det er navn du sorterer med.

 

Så lager du bare en metode som sjekker:

 

public int finnPerson(Person[] personArray, String hentPerson){

for(int i = 0; i < personArray.length; i++){

if(personArray != null){

if(hentPerson.equals(personArray.hentNavn()){

return 1;

}

}

return -1

}

 

Denne returner 1 om personen finnes, -1 om den ikke. Her er det kun ja/nei, skal du ha tilbake objektet det gjelder for å behandle data videre må du bytte type til Person og returnere personArray. Du får også bare ut første forekomst av navnet, er det flere med samme navn blir disse ignorert. Da må du i tilfelle telle opp hvor mange det gjelder om det er det du er ute etter, eller returnere enn array av disse om du vil viderebehandle.

Endret av Thomas`
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...