dup Skrevet 30. januar 2007 Del Skrevet 30. januar 2007 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? Håper på litt rask hjelp her! Lenke til kommentar
HV Skrevet 30. januar 2007 Del Skrevet 30. januar 2007 Hvis det er en tabell du snakker om så har ikke den en slik metode, du må "traversere hele" listen.. Lenke til kommentar
dup Skrevet 30. januar 2007 Forfatter Del Skrevet 30. januar 2007 (endret) 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 30. januar 2007 av dup Lenke til kommentar
Epixx Skrevet 30. januar 2007 Del Skrevet 30. januar 2007 (endret) 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 30. januar 2007 av Thomas` Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå