Map集合
基本格式Map<Key,Value>
Map接口下有三个子类,分别是:Hashtable,HashMap,TreeMap.
HashTable出现在JDK1.0,底层为哈希表结构,不可存入空键或空值,线程同步,效率较低。
HashMap出现在JDK1.2,底层也是哈希表结构,可存入空键和空值,线程不同步,效率较高。
TreeMap底层为二叉树结构,线程不同步,不过可用于对Map集合中的键进行排序。
Map其实与Set有很多相似之处,其实Set的底层就是应用的Map集合。
Map是一个将键映射到值的对象,和arrayList相比存储的是一对一对的值。
因为存储的是对值,我们在遍历Map集合的时候需要先对其中一列进行取值,并存取到Set集合中通过迭代器获取相应的值。
比如
Map<String, String> map = new HashMap();
map.put("01","张三");
map.put("02","李四");
//这里我们需要将Map集合中的键值存入Set集合中,我们可以通过使用Map中的KeySet方法获取键值,返回的类型根据你的键类型来确认。
Set<String> keySet = map.keySet();
//既然存入到了Set中,我们就可以使用迭代器来遍历了。
for(Iterator iterator = keySet.iterat or(); iterator.hasNext(); ) {
String key = iterator.next();
System.out.println("Key:"+key);
String value = map.get(key);
System.out.println("Value:"+value);
}