# HashMap iterieren



## DeKa106 (16. Jan 2007)

HAllo zusammen wollt mal fragen ob es eine möglcih keit gibt ein HashMap zu iterieren?

das ist ja kein probelem:

```
Set languageSet = languages.keySet();
        
        Iterator it = languageSet.iterator();
```

aber warum gehts nicht acuh mit einer HasHMap???


----------



## Wildcard (16. Jan 2007)

mit keySet(), kommst du an die keys, mit values() an die werte und mit entrySet() die Mappings.


----------



## armitage (16. Jan 2007)

Eine Hashmap besteht aus Paaren Schlüssel/Wert. Du kannst die Hashmap über die Schlüssel iterieren.


----------



## DeKa106 (16. Jan 2007)

dANKESCHÖN DAS STIMMT was ihr gesagt habt.

hatte das total vergessen mit den paaren . mit keySet() klappts danke


```
HashMap appHash = fileReader.listDir(new File(folderNative));
            Iterator it = (Iterator) appHash.keySet();
```


----------



## mikemodanoxxx (12. Feb 2008)

Ich benutze mal kurz diesen Thread mit:


```
Iterator it = (Iterator) states.keySet();
		for(String s: it) {
			
		}
```

Wieso funktioniert das nicht? states ist eine HashMap. Er unterstreicht mir das it in der for-Schleife mit der Meldung, dass er nur über eine Instanz von java.lang.Iterable iterieren kann. Es ist aber doch eine Instanz?!


----------



## SlaterB (12. Feb 2008)

> public interface Iterator<E> {
> ..
> }




siehst du da irgendwo, dass Iterator das Interface Iterable implementiert?
ne, denn Iterator tut das ja auch nicht wie z.B. Set = Collection:



> public interface Collection<E> extends Iterable<E> {
> ..
> }


----------



## mikemodanoxxx (12. Feb 2008)

Wie kann ich mir dann alle Elemente aus einer HashMap holen?

edit: ahso mit hasNext()..


----------



## SlaterB (12. Feb 2008)

for(String s: states.keySet()) { 
}
ansonsten gibts auch noch entrySet() und values()
API?


----------

