Anira Skrevet 7. mars 2007 Del Skrevet 7. mars 2007 Hei! Jeg har prøvd å søke uten å finne noe godt svar på dette, så jeg prøver meg her. Jeg har en ArrayList av objekter med navn, og disse navnene skal jeg overføre til en ny ArrayList som kun inneholder navnet. (Enkle strenger, den siste blir av typen ArrayList<String>). Problemet er at det skal kun være unike verdier i denne siste lista. Det skjærer seg hvis det samme navnet skrives en gang med små, og en gang med store bokstaver, fordi det da vil bli registrert som to ulike navn. Jeg bruker contains() for å søke gjennom lista istedenfor å bruke equals (der man kan velge å bruke equalsIgnoreCase() ), og jeg lurer på om det finnes noe lignende for contains()? Slik at jeg kan søke gjennom uten å bekymre med for store eller små bokstaver. En enkel løsning er å sette alt til lower- eller uppercase, da slipper jeg dette problemet. Men jeg vil ha navnene med store forbokstaver, og da sier det seg selv at dette blir klønete, hvis ikke jeg har gått glipp av en type capitalize-metode som er innebygget. Det må sies at jeg er forholdsvis fersk når det gjelder dette, så jeg er på utkikk etter enkle løsninger av typen equalsIgnoreCase, og vil ikke begynne å lage egne metoder som gjør det jeg vil. Dersom det ikke finnes noe slikt kan jeg leve med å ha navnene i enten lower- eller uppercase, men jeg tenkte jeg skulle høre med noen som kan litt mer enn meg før jeg gir opp Jeg håper dette ikke var altfor forvirrende forklart, og på forhånd takk! Lenke til kommentar
threiran Skrevet 7. mars 2007 Del Skrevet 7. mars 2007 Heisann, Hvorfor ikke lage din egen metode i programmet ditt, som du kjører før du putter inn noe i lista. En metode som henter ut hvert element i ArrayList'en. Da kan sammenlikningen gjøres akkurat som du vil (f.eks med equalsIgnoreCase() )... For å gå gjennom hele ArraList'en kan du kjøre en for(; løkke. Enten indeksert (og get(...) metoden eller ved å benytte en Iterator og next(). lykke til CPL Lenke til kommentar
Anira Skrevet 7. mars 2007 Forfatter Del Skrevet 7. mars 2007 Det går helt klart, men jeg tenkte jeg skulle prøve å unngå det, siden programmet er såpass lite. Men jeg skal se om jeg får til noe bedre enn jeg klarte klokka tre i natt, hehe. Takk for svar! Lenke til kommentar
blackbrrd Skrevet 14. mars 2007 Del Skrevet 14. mars 2007 Du lager en hashmap med alle ordene i lower eller upper case, og en array list med ordene på riktig format. Du sjekker i hashmap-en om ordet finnes fra før og legger den til i begge hvis den ikke gjør det. Lenke til kommentar
Zethyr Skrevet 15. mars 2007 Del Skrevet 15. mars 2007 Å implementere sin egen lille capitalize-sak går uhyre fort, og siden det er snakk om navn i ei liste er det vel like greit å ha alle sammen på det samme formatet. 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å