Map 的 Api 文档地址: Map
Map:一次添加一对元素。Collection一次添加一个元素。
Map也称为双列集合,Collection集合称为单列集合。
其实map集合中存储的就是键值对。
map集合中必须保证键的唯一性。
import java.util.*;
import static java.lang.System.out;
class Main
{
public static void main(String args[])
{
Map<Integer,String> map=new HashMap<Integer, String>();
//1. 添加元素
//V put(K key, V value)
//将指定的值与此映射中的指定键关联(可选操作)。
// 这里的key 和 值 的唯一确定的 如果遇到 这个key 已经存在
// 返回 上一个 key存在的值 并且覆盖掉 如果这个key之前不存在 返回空
map.put(12,"abc1");
map.put(14,"abc2");
map.put(17,"abc33");
//2. 删除所有元素
//void clear()
//从此映射中移除所有映射关系(可选操作)。
map.clear();
//3.删除一个key的指定映射关系
map.remove(12);
map.put(12,"abc1");
map.put(14,"abc2");
map.put(17,"abc33");
//4.取出map中的所有元素
//原理: 通过keySet 方法获取所有key所在的集合 ,在通过set的迭代器获取到每一个key
Set<Integer> keySet=map.keySet();
Iterator<Integer> it=keySet.iterator();
while(it.hasNext())
{
Integer key=it.next();
String val=map.get(key);
out.println(key+":"+val);
}
//5.通过Map转成set就可以迭代
//找到了另一个方法 entrySet
Set<Map.Entry<Integer,String>> entrySet=map.entrySet();
Iterator<Map.Entry<Integer,String>> i=entrySet.iterator();
while(i.hasNext())
{
Map.Entry<Integer,String> me=i.next();
Integer key=me.getKey();
String val=map.get(key);
System.out.println(key+"..."+val);
}
//6.直接获取里面的值
//利用 values
Collection<String> val=map.values();
Iterator<String> ii=val.iterator();
while(ii.hasNext())
{
System.out.println(ii.next());
}
}
}
运行结果: