HashMap-Iteration

AvS

Erfahrenes Mitglied
Hallo,

ich bekomme die Keys irgendwie nicht aus meiner HashMap. Es sollen Keys und Values auf dem Bildschirm ausgegeben werden :

Java:
import java.util.*;
public class Aufgabe57 {
	public static void main(String[] args) 
	{
		Map<String, String> emailvz = new HashMap<String, String>();
          
                // Mehrere Einträge über emailvz.put(String, String) werden eingefügt
               
               Set<String> email = emailvz.keySet();
	       Set<String> name = emailvz.keySet();

              for(String emails : email)
		{
			System.out.println("Alias: " + emailvz.get(name) + "    Mail-Adressen: " +emailvz.get(email));
		}

Lasse ich die Zeile Set<String> name = emailvz.keySet()" weg, läuft es. Aber es müssen halt Keys und Values übergeben werden.

MfG
AvS
 
Zuletzt bearbeitet von einem Moderator:

zeja

Erfahrenes Mitglied
Wenn du key und value brauchst dann nimm das entrySet:
Java:
public static void main(String[] args) {
		Map<String,String> test = new HashMap<String,String>();
		for(Map.Entry<String, String> entry : test.entrySet()){
			System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
		}
	}
 

zerix

Hausmeister
Moderator
Du kannst es auch so machen.

Code:
import java.util.*;
public class Aufgabe57 {
    public static void main(String[] args) 
    {
        Map<String, String> emailvz = new HashMap<String, String>();
          
                // Mehrere Einträge über emailvz.put(String, String) werden eingefügt
               
               Set<String> email = emailvz.keySet();
           

              for(String emails : email)
        {
            String name = emailvz.get(email);
            System.out.println("Alias: " +name  + "    Mail-Adressen: " +emailvz.get(email));
        }


MFG

Sascha
 

zerix

Hausmeister
Moderator
Ich wollte auch nur zeigen, dass man es so machen kann. Vor allem da du auf diese Art schon angefangen hast. Ist klar, dass die Methode von zeja besser geeignet ist. :)

MFG

Sascha