HashMap mit Daten aus ArrayList befüllen

Kaddl

Mitglied
Hi ihr.
Meine Aufgabe lautet:

"Für eine Kontaktliste sollen Name, Adresse, Telefonnummer und Emailadresse einer Person in einer HashMap gespeichert werden. Diese sollen in einer ArrayList vorgehalten werden. Erstellen Sie die besagte HashMap und füllen Sie sie mit Daten für drei Personen."

Ich habe bereits zwei Klassen erstellt.

Die Klasse Person:

Java:
public class Person {
	private String m_name;
	private String m_eMail;
	private String m_phone;
	private String m_street;
	private String m_wohnort;
	
	public Person() {

	}
	
	public Person(String name, String eMail, String phone, String street, String wohnort){
		m_name = name;
		m_eMail = eMail;
		m_phone = phone;
		m_street = street;
		m_wohnort = wohnort;
	}
           //Getter und Setter
	public String getM_name() {
		return m_name;
	}
	public void setM_name(String m_name) {
		this.m_name = m_name;
	}
	public String getM_eMail() {
		return m_eMail;
	}
	public void setM_eMail(String m_eMail) {
		this.m_eMail = m_eMail;
	}
	public String getM_phone() {
		return m_phone;
	}
	public void setM_phone(String m_phone) {
		this.m_phone = m_phone;
	}
	public String getM_street() {
		return m_street;
	}
	public void setM_street(String m_street) {
		this.m_street = m_street;
	}
	public String getM_wohnort() {
		return m_wohnort;
	}
	public void setM_wohnort(String m_wohnort) {
		this.m_wohnort = m_wohnort;
	}
	
	public static void main(String[] args) {
		new Person();
}

und meine Klasse HashTest:

Java:
import java.util.*;

public class HashTest {
	
	
	public HashTest() {

	}

	public static void main(String[] args) {	
		Map<String, ArrayList<Person>> kontaktListe = new HashMap<String,ArrayList<Person>>();
		ArrayList<Person> kontaktDaten = new ArrayList<Person>();	
		
		kontaktDaten.add(0, new Person("Daniel", "Daniel@aol.de", "08315364", "Memminger Straße 100", "Kempten"));
		kontaktDaten.add(1, new Person("Andreas", "andy@gmx.de", "0833196870", "Hauptstraße 10a", "Memmingen"));
		kontaktDaten.add(2, new Person("Isabell", "isi_bell@web.de", "089775361", "Theresienstraße 5", "München"));
	
		kontaktListe.put(key, value);
		
		//System.out.println() zum Testen der ArrayList!
	/*	System.out.println("Person 1:");
		System.out.println("Name: " + kontaktDaten.get(0).getM_name());
		System.out.println("E-Mail: " + kontaktDaten.get(0).getM_eMail());
		System.out.println("Telefonnummer: " + kontaktDaten.get(0).getM_phone());
		System.out.println("Straße: " + kontaktDaten.get(0).getM_street());
		System.out.println("Ort: " + kontaktDaten.get(0).getM_wohnort());
	*/
	}

}

Mein Problem liegt jetzt darin, dass ich nicht weiß, wie ich die ArrayList in meine HashMap fülle. Ich würde die Methode .put() nutzen, weiß aber nicht was mit "key" und "value" gemeint ist.

Hat mir jemand eine Idee, wie ich das löse?:bloed:
Ich hab schon geoogelt, aber nichts gefunden, mit dem ich was anfangen kann :D

Danke schon mal :)
 
Zuletzt bearbeitet:

FetterOtter

Bekanntes Mitglied
Ich würde dir ja gerne helfen, aber ich verstehe nicht für'n Pfennig den Sinn der Aufgabe, denn HashMap und ArrayList ist doch total doppeltgemoppelt. Beides sind Speicher für eine Sammlung gleichartiger Datensätze...

Sorry...
 

Kaddl

Mitglied
Ja naja.. ich hab mir die Aufgabe nicht selbst gestellt^^ Mein Klassenkamerade hat auch gesagt, dass die Aufgabe so keinen Sinn macht...
Nur leider muss ich das ja irgendwie lösen :(
 

FetterOtter

Bekanntes Mitglied
Das glaube ich dir, dass diese Aufgabenstellung nicht auf deinem Mist gewachsen ist...
Ich würde dir wirklich gerne helfen, aber ich habe keine Idee, was euer Lehrer hier tatsächlich von euch will.
 

Sen-Mithrarin

Gesperrter Benutzer
leute ... wirklich .. was is das hier ? ... 7te klasse möchtegern-informatik ?

lernt doch bitte mal lesen ...


"Für eine Kontaktliste sollen Name, Adresse, Telefonnummer und Emailadresse einer Person in einer HashMap gespeichert werden."
ganz klar erfasst : 4 Strings in einer HashMap

"Diese (die HashMaps) sollen in einer ArrayList vorgehalten werden."
auch einfach : die Maps in ne Liste werfen

lösung

Java:
List<Map<String, String>> kontakte=new ArrayList<Map<String, String>>();

Map<String, String> person1=new HashMap<String, String>();
person1.put("Name", "Banana Joe");
person1.put("Addresse", "Bananen Dampfer #3 im Hafen XYZ");
person1.put("Telefonnummer", "1-123-555-1234");
person1.put("Emailadresse", "bananajoe@ship3.tld");

kontakte.add(person1);

kindergartenaufgabe ... man sollte die aufgabenstellung nur mal richtig lesen (können)
 

Aristro

Mitglied
Erstellen Sie die besagte HashMap und füllen Sie sie mit Daten für drei Personen.

Ich habe es so verstanden, dass nur eine HashMap erstellt werden soll und nicht für jede Person eine.


Mein Lösungsansatz:

Code:
     List<Person> persons = new ArrayList<Person>();
     persons.add(new Person(..));
        
     HashMap<Long,Person> map = new HashMap<Long,Person>();
        
     for(Person person: persons){
            map.put(person.getId(), person) //jede Person braucht einen eindeutigen Key
     }
 

Kaddl

Mitglied
Ich habe es so verstanden, dass nur eine HashMap erstellt werden soll und nicht für jede Person eine.


Mein Lösungsansatz:

Code:
     List<Person> persons = new ArrayList<Person>();
     persons.add(new Person(..));
        
     HashMap<Long,Person> map = new HashMap<Long,Person>();
        
     for(Person person: persons){
            map.put(person.getId(), person) //jede Person braucht einen eindeutigen Key
     }

Ich habe mit meinem Tutor gesprochen und er hat es genau so gemeint. Also drei HashMaps erstellen und diese dann in eine ArrayList speichern.
 

Kaddl

Mitglied
Hab es aber doch noch so gelöst:

Java:
	public HashTest() {

	}

	public static void main(String[] args) {	
		HashMap<String, ArrayList<Person>> kontaktListe = new HashMap<String,ArrayList<Person>>();
		ArrayList<Person> kontaktDaten = new ArrayList<Person>();	
		
		kontaktDaten.add(0, new Person("Daniel", "Daniel@aol.de", "0831/5364", "Memminger Straße 100", "Kempten"));
		kontaktDaten.add(1, new Person("Andreas", "andy@gmx.de", "08331/96870", "Hauptstraße 10a", "Memmingen"));
		kontaktDaten.add(2, new Person("Isabell", "isi_bell@web.de", "089/775361", "Theresienstraße 5", "München"));
	

		kontaktListe.put("myKey", kontaktDaten);
		
		System.out.println("Person 1:");
		System.out.println("Name: " + kontaktListe.get("myKey").get(0).getName());
		System.out.println("E-Mail: " + kontaktListe.get("myKey").get(0).geteMail());
		System.out.println("Telefonnummer: " + kontaktListe.get("myKey").get(0).getPhone());
		System.out.println("Straße: " + kontaktListe.get("myKey").get(0).getStreet());
		System.out.println("Wohnort: " + kontaktListe.get("myKey").get(0).getWohnort());
		System.out.println("");
		
		System.out.println("Person 2:");
		System.out.println("Name: " + kontaktListe.get("myKey").get(1).getName());
		System.out.println("E-Mail: " + kontaktListe.get("myKey").get(1).geteMail());
		System.out.println("Telefonnummer: " + kontaktListe.get("myKey").get(1).getPhone());
		System.out.println("Straße: " + kontaktListe.get("myKey").get(1).getStreet());
		System.out.println("Wohnort: " + kontaktListe.get("myKey").get(1).getWohnort());
		System.out.println("");
		
		System.out.println("Person 3:");
		System.out.println("Name: " + kontaktListe.get("myKey").get(2).getName());
		System.out.println("E-Mail: " + kontaktListe.get("myKey").get(2).geteMail());
		System.out.println("Telefonnummer: " + kontaktListe.get("myKey").get(2).getPhone());
		System.out.println("Straße: " + kontaktListe.get("myKey").get(2).getStreet());
		System.out.println("Wohnort: " + kontaktListe.get("myKey").get(2).getWohnort());
		System.out.println("");
		
	
	}

}

an der Klasse Person hat sich nichts geändert.
 

thet1983

Top Contributor
hallo,
wenn die erste Klasse gleich bleibt solltest du die Zugriffe richtig stellen....

Java:
........ + kontaktListe.get("myKey").get(0).getM_name());

statt
Java:
......getName());
 
Zuletzt bearbeitet:

Kaddl

Mitglied
Entschuldige. Hab in der Klasse Person doch was geändert:

Java:
public class Person {
	private String name;
	private String eMail;
	private String phone;
	private String street;
	private String wohnort;
	
	public Person() {

	}
	
	public Person(String name, String eMail, String phone, String street, String wohnort){
		this.name = name;
		this.eMail = eMail;
		this.phone = phone;
		this.street = street;
		this.wohnort = wohnort;
	}
	
	//Getter und Setter
	
	

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String geteMail() {
		return eMail;
	}

	public void seteMail(String eMail) {
		this.eMail = eMail;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getStreet() {
		return street;
	}

	public void setStreet(String street) {
		this.street = street;
	}

	public String getWohnort() {
		return wohnort;
	}

	public void setWohnort(String wohnort) {
		this.wohnort = wohnort;
	}
	public static void main(String[] args) {
		new Person();

	}
}

Jetzt passt das auch wieder :)
 

Sen-Mithrarin

Gesperrter Benutzer
also wenn dein tutor es wirklich in die richtung "daten in hashmap werfen und die dann in ner arraylist sammeln" gemeint hat ... dann kann ich mir kaum vorstellen das er deine lösung als "korrekt" ansieht ...

klar ist zu erkennen das der wille da war ... aber man sieht auch das du ja nicht mal die aufgabe richtig verstanden hast
 

Kaddl

Mitglied
also wenn dein tutor es wirklich in die richtung "daten in hashmap werfen und die dann in ner arraylist sammeln" gemeint hat ... dann kann ich mir kaum vorstellen das er deine lösung als "korrekt" ansieht ...

klar ist zu erkennen das der wille da war ... aber man sieht auch das du ja nicht mal die aufgabe richtig verstanden hast

Dazu muss ich ein paar Dinge sagen:

1. jeder kann sich mal 'verlesen'
2. mein Azubi-Tutor war vollkommen zufrieden mit dieser Lösung; "So wie du es gemacht hast, find ich das auch gut"
3. hab ich das, so wie es ursprünglich verlangt wurde, auch noch gelöst
und 4. du warst wirklich der einzigste, der das quasi richtig verstanden hat. In einem weiteren Forum hat es jeder so gemacht wie ich zu Beginn und auch Azubi Kollegen haben das falsch gelesen.

Sowas kann halt mal passieren und es war auch nur eine Übungsaufgabe. Du kannst mir auch ned erzählen, dass du dich noch nie verlesen hast!:pueh:
 

Sen-Mithrarin

Gesperrter Benutzer
ne is ja ok ... aber das analytische vorgehen wie man eine text-aufgabe auseinander nimmt und was einzelne bestandteile in welcher reihenfolge zu bedeuten haben sollte man eigentlich schon recht früh im mathe-unterricht lernen

sicher ... die aufgabenstellung an sich ist realtiv ungünstig formuliert und lässt schon von sich aus fehler zu ...
z.B. was viele scheinbar "falsch" gemacht haben : den punkt "einer Person" so zu verstehen das man eine klasse namens "Person" erzeugen soll und diese dann in eine Map oder List werfen soll
macht so für sich selbst genommen schon sinn ... aber dann würde es nicht mehr passen warum man dann noch Map und List in einander packen sollte ... egal wie rum

also kommt man schon mal darauf : Person als extra-klasse ? irgendwie falsch

weiter ist es auch ungünstig ausgedrückt : "Erstellen sie die besagte HashMap" ...
öhm WHAT ? soll jetzt nur ein objekt vom typ HashMap erzeugt werden oder soll man sich doch wieder mit ner klasse "Person" was zusammen basteln ... warum dann aber trotzdem noch Map und List ? und macht mit der obigen aussage auch irgendwie keinen sinn


wie genau man sich jetzt bei der aufgabe "verlesen" soll ist mir leider nicht ganz klar ... was ich jedoch nachvollziehen kann das man auf grund extrem schlechter aufgabenformulierung noch so einige andere möglichkeiten offen hat die mit ein bisschen biegen und brechen auch der aufgabe entsprechen würden .... aber so im "produktiven einsatz" keinen sinn ergeben oder so nicht genutzt werden würden



man muss sich bei solchen aufgaben immer auch im hinterkopf denken : wie würe sowas für den produktiven einsatz mit X=10'000 aussehen ... macht da mein code noch sinn ?

gut ... wenn man die erfahrung nicht hat wird es schwer sich sowas vorstellen zu können und man wird am anfang oft daneben liegen ... aber dafür lernst du es ja grade
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Daten aus einer HashMap aus einer DB speichern und mit neuen Werten vergleichen Java Basics - Anfänger-Themen 8
R Alle Daten einer HashMap ausgeben Java Basics - Anfänger-Themen 17
D HashMap gespeicherten Daten rausgeben? Java Basics - Anfänger-Themen 4
S daten aus HashMap auslesen Java Basics - Anfänger-Themen 4
T Daten in HashMap speichern? Java Basics - Anfänger-Themen 5
M hilfe :} möchte servlet daten erfasssen-> hashmap speiche Java Basics - Anfänger-Themen 3
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
T HashMap Lsite gibt die sachen nicht aus wie gewollt. Java Basics - Anfänger-Themen 3
krgewb HashMap Java Basics - Anfänger-Themen 2
B Hashmap richtig bauen, die Tripel auf Zahl abbildet? Java Basics - Anfänger-Themen 10
"java.util.HashMap.get(Object)" is null Java Basics - Anfänger-Themen 10
berserkerdq2 Hashmap, wie prüfe ich ob ein Key schon existiert Java Basics - Anfänger-Themen 19
S Durch HashMap iterieren Java Basics - Anfänger-Themen 8
rafi072001 Sortieren einer HashMap nach Values Java Basics - Anfänger-Themen 2
F gson mit einer Hashmap Java Basics - Anfänger-Themen 2
J JSON-HashMap Java Basics - Anfänger-Themen 3
J Hashmap Java Basics - Anfänger-Themen 13
C Hashmap zickt Java Basics - Anfänger-Themen 9
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
N enum Attribut von Objekten einer Hashmap ausgeben Java Basics - Anfänger-Themen 6
P Verschachtelte Hashmap Java Basics - Anfänger-Themen 6
I Sortiert eine HashMap nicht gleich wie eine ArrayList? Java Basics - Anfänger-Themen 1
B HashMap alphabetisch sortieren Java Basics - Anfänger-Themen 2
J HashMap Java Basics - Anfänger-Themen 6
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
N HashMap in List good practice? Java Basics - Anfänger-Themen 2
K Value eines HashMaps in einer HashMap wiedergeben. Java Basics - Anfänger-Themen 5
O Hashmap, ArrayList, LinkedList Java Basics - Anfänger-Themen 7
O HashMap - ArrayList Java Basics - Anfänger-Themen 29
J Hashmap langsamer als compareTo? Java Basics - Anfänger-Themen 23
E HashMap+Vererbung Java Basics - Anfänger-Themen 11
J Erhöhen eines Values als Integer bei gleichen Keys in HashMap Java Basics - Anfänger-Themen 12
N Methoden HashMap interne Werte miteinander vergleichen Java Basics - Anfänger-Themen 7
W The type Long is not visible HashMap Java Basics - Anfänger-Themen 4
M Objekt mit Hashmap vergleichen Java Basics - Anfänger-Themen 22
S Gibt es für die Klasse HashMap Generic Implementierungen? Java Basics - Anfänger-Themen 11
C HashMap - alle keys haben values der letzten put-Anweisung Java Basics - Anfänger-Themen 3
J Hashmap auslesen Java Basics - Anfänger-Themen 7
F HashMap sortieren <String, Long> Java Basics - Anfänger-Themen 3
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
shiroX Methoden Morse-Code Übersetzer mit HashMap Java Basics - Anfänger-Themen 5
E HashMap Problem Java Basics - Anfänger-Themen 5
P Hashmap anstatt LinkedList? Java Basics - Anfänger-Themen 6
T HashMap und die Methoden Java Basics - Anfänger-Themen 13
N Methoden Interaktives PDF mit HashMap befüllen Java Basics - Anfänger-Themen 0
Z Hashmap auseinandernehmen und analysieren Java Basics - Anfänger-Themen 7
B Durchlaufen von Hashmap und Arraylist Java Basics - Anfänger-Themen 8
F HashMap oder welches Array? Java Basics - Anfänger-Themen 4
T HashMap Java Basics - Anfänger-Themen 24
L Hashmap mit variablem Key Java Basics - Anfänger-Themen 9
M Collections Probleme mit Hashmap Java Basics - Anfänger-Themen 4
N Collections String in HashMap umwandeln Java Basics - Anfänger-Themen 3
Z HashMap richtig benutzen Java Basics - Anfänger-Themen 2
lgund HashMap // TS3 Query Java Basics - Anfänger-Themen 7
Z Hashmap Iterator löscht nicht Java Basics - Anfänger-Themen 8
E Hashmap Wert auslesen Java Basics - Anfänger-Themen 2
S Printstream für einen Hashmap Loop Java Basics - Anfänger-Themen 1
dat_vin OOP Hashmap und Attribute Java Basics - Anfänger-Themen 7
C Check ob eine HashMap schon existiert Java Basics - Anfänger-Themen 16
P Vererbung Eigene HashMap Variante Java Basics - Anfänger-Themen 2
R Hashmap in anderer Klasse nicht benutzbar Java Basics - Anfänger-Themen 1
T Java Hashmap Java Basics - Anfänger-Themen 3
L Gibt es etwas wie "HashMap <String, String, String> Java Basics - Anfänger-Themen 9
S OOP Klasse mit static-Eigenschaften - HashMap füllen Java Basics - Anfänger-Themen 6
O HashMap Fragen Java Basics - Anfänger-Themen 8
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
M Semantisches Problem HashMap/Netzwerk Java Basics - Anfänger-Themen 4
D HashMap Keys durchlaufen Java Basics - Anfänger-Themen 2
B Zugriff auf csv-Datei per hashmap Java Basics - Anfänger-Themen 5
M HashMap keys ausgeben Java Basics - Anfänger-Themen 2
S In einer Hashmap Klassen regestrieren Java Basics - Anfänger-Themen 2
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
F HashMap nach kleinstem Value durchsuchen Java Basics - Anfänger-Themen 11
G HashMap Java Basics - Anfänger-Themen 6
F Wortpaare - HashMap - ArrayList Java Basics - Anfänger-Themen 6
M HashMap Frage Java Basics - Anfänger-Themen 3
M HashMap - put() reagiert nicht? Java Basics - Anfänger-Themen 8
N Cast eines Objektes in eine Hashmap Java Basics - Anfänger-Themen 13
A CSV Zeilenweise einlesen und in einer HashMap speichern Java Basics - Anfänger-Themen 12
A Input/Output Hashmap in einem JPanel via JList anzeigen Java Basics - Anfänger-Themen 8
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
F Hilfe bei der HashMap. Java Basics - Anfänger-Themen 3
F HashMap vs. TreeMap Java Basics - Anfänger-Themen 5
B HashMap Java Basics - Anfänger-Themen 9
C Collections String[] als value in HashMap Java Basics - Anfänger-Themen 6
V Hashmap Iterieren Java Basics - Anfänger-Themen 4
C Csv File in Hashmap ausgeben Java Basics - Anfänger-Themen 14
T HashMap<String,Object> Werte auslesen Java Basics - Anfänger-Themen 5
I HashMap sortieren Java Basics - Anfänger-Themen 10
I HashMap Java Basics - Anfänger-Themen 11
H Collections Brauche modifizierte HashMap Java Basics - Anfänger-Themen 6
H TreeMap/HashMap synchronisieren Java Basics - Anfänger-Themen 2
A Datentypen Hashmap to Array Java Basics - Anfänger-Themen 11
D HashMap überschreibt Werte Java Basics - Anfänger-Themen 7
pg1337 Interface Comparable-Interface bei HashMap Java Basics - Anfänger-Themen 21
D erweiterte hashmap Java Basics - Anfänger-Themen 5
H HashMap<Int, String> - Er findet die Int-Klasse nicht. Java Basics - Anfänger-Themen 3
L HashMap zu JList Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben