Map集合不属于Collection体系,实现Map接口的类是用来存储键值对的(key=value).其中不能包含重复的键,每个键最多只能映射到一个值。
常见的Map集合的实现类有 HashMap,HashTable,Properties等.
由于Map集合并不是继承自Collection 也就不能直接使用Iterator进行迭代.如何取出Map集合中的元素呢?
1,通过keySet()方法返回此映射中所有的键的Set集合。然后使用Set集合的迭代器取出所有的key.再通过get(key);方法来取出对应的value,即可.
Map map=new HashMap();
map.put(1, "test");
map.put(2, "test2");
Set keySet=map.keySet();
Iterator it=keySet.iterator();
while(it.hasNext())
{
int key=(int)it.next();
String value=(String)map.get(key);
}
当然也可以直接使用高级for循环取出所有的key.
2.通过entrySet()方法返回所有的映射关系(Map.Entry).之后通过getKey()和getValue()取出对应的键值.
Map map=new HashMap();
map.put(1, "test");
map.put(2, "test2");
Set entrySet=map.entrySet();
Iterator it=entrySet.iterator();
while(it.hasNext())
{
Map.Entry entry=(Map.Entry)it.next();
int key=(int)entry.getKey();
String value=(String)entry.getValue();
}
如果使用泛型,则在迭代时不需要进行强制类型转换.
实际上API中对Map的描述是Map<K,V>