itwiz Skrevet 30. oktober 2008 Del Skrevet 30. oktober 2008 Hei, jobber med et prosjekt hvor jeg skal opprette klasser for Abonnent, Produkt og Leverandør.. Abonnent skal inneholde diverse opplysninger om kunden og skal blant annet ha telefonnummer.. Så det jeg lurer på er hvordan jeg kan legge inn flere enn 1 telefonnummer på den kunden med HashMap.. Har gjort dette før med ArrayList men blir vell ikke helt det samme? Det skal gjerne kunne splittes ved hjelp av ",". Lenke til kommentar
emva Skrevet 30. oktober 2008 Del Skrevet 30. oktober 2008 Det enkleste må da være å lage to variabler. int tlf1; int tlf2; HashMap<K, V> tlfnummer = new HashMap<K, V>(); Set iter = tlfnummer.keySet(); iter.iterator(); Der K er nøkkelen og V er verdi objektet, men HashMap er beregnet for å ha tusenvis av objekter, ikke 2-3. F.eks. et hashmap på 4-5000 objekter finner det du vil ganske raskt Lenke til kommentar
itwiz Skrevet 30. oktober 2008 Forfatter Del Skrevet 30. oktober 2008 public class Abonnent { private String kundeNr; private String navn; private String telefon; private String epost; private HashMap<String, Produkt> mineProdukter; public Abonnent(String nr, String navn, String epost, String telefon) { kundeNr = nr; this.navn = navn; this.epost = epost; this.telefon = telefon; mineProdukter = new HashMap<String, Produkt>(); } Så om den skal inn i denne koden, hvordan skriver jeg det da? Lenke til kommentar
emva Skrevet 30. oktober 2008 Del Skrevet 30. oktober 2008 Slik: public class Abonnent { private String kundeNr; private String navn; private HashMap<String, ArrayList<String>> tlfnummer; private String telefon; private String epost; private HashMap<String, Produkt> mineProdukter; public Abonnent(String nr, String navn, String epost, String telefon){ kundeNr = nr; this.navn = navn; this.epost = epost; setTlfnummer(telefon); mineProdukter = new HashMap<String, Produkt>(); tlfnummer = new HashMap<String, ArrayList<String>>(); } Resten orker/gidder jeg ikke å skrive, ikke nå iallefall. det er en god del kode som du må skrive ekstra. Lurest tror jeg at det ville ha vert å gi nøkkelen i hashmappen en string som du setter final på blandt deklarasjonene: private final String mobilTlf = "mobil"; på den måten kan du enkelt finne ut om det er et mobilnr eller ikke. Pluss at du kan ha flere mobilnr/husnr under en Key i et HashMap gjør det ingenting om det finnes like nøkkler visuelt er dette noe sånt: nøkkel = mobil, verdi = arraylist (liste av mobilnummer). eks: (ikke slik du kan gjøre det, men håper du forstår) tlfnummer.put(mobilTlf, new ArrayList<String>().add("et nummer")); du bør også ha en public List getAlleTlfNummer() for å liste ut alle på en gang. gudd løkk Lenke til kommentar
itwiz Skrevet 30. oktober 2008 Forfatter Del Skrevet 30. oktober 2008 Aah, okei! Dette hjalp meg på vei Takk skal du ha Lenke til kommentar
___ Skrevet 30. oktober 2008 Del Skrevet 30. oktober 2008 Hei, jobber med et prosjekt hvor jeg skal opprette klasser for Abonnent, Produkt og Leverandør.. Abonnent skal inneholde diverse opplysninger om kunden og skal blant annet ha telefonnummer.. Så det jeg lurer på er hvordan jeg kan legge inn flere enn 1 telefonnummer på den kunden med HashMap.. Har gjort dette før med ArrayList men blir vell ikke helt det samme?Det skal gjerne kunne splittes ved hjelp av ",". Det er jo bare å lagre telefonnumrene i en hashmap. Så kan nøkkelen være 'jobb', 'hjem', 'fax', etc. Werner 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å