Map:一次添加一对元素。Collection 一次添加一个元素
Map也称为双列集合 Collection集合称为 单列集合
其实map集合中存储的就是键值对
map集合必须保证键的唯一性
常用方法:
1 添加
value put(key,value);返回前一个和key关联的值,如果没有返回null
2 删除
void clear():清空map集合
value remove(key):根据指定的key删除这个键值对
3 判断
containKey(key);
containValue(value);
4 获取
value get(key);通过键获取值 如果没有该键 返回null
当然可以通过返回null 来判断是否包含指定键
int size();获取键的个数
Map常用的子类:
|--Hashtable:内部结构是哈希表,是同步的 不允许null 作为键 null 作为值
|--Properties:用来存储键值对型的配置文件的信息,可以和IO技术相结合
|--HashMap:内部结构是哈希表,是不同步的 允许null 作为键 null 作为值
|--TreeMap:此类实现一个哈希表,内部结构是二叉书 不同步的 可以对Map中的集合中的键进行排序
package Map.Demo;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapDemo {
public static void main(String[] args) {
Map<Integer,String> map=new HashMap<Integer, String>();
//method(map);
method_2(map);
}
public static void method_2(Map<Integer, String> map) {
map.put(8, "wangwu");
map.put(2, "zhaoliu");
map.put(6, "zhangsan");
map.put(3, "lisi");
//取出map中的所有元素
//原理 先通过keySet方法获取map中所有的键所在的Set集合,再通过Set的迭代器获取到每一个元素
//在对每一个键获取其对应的值即可
Set<Integer> keySet=map.keySet();
Iterator<Integer> it=keySet.iterator();
while(it.hasNext()) {
Integer key=it.next();
String value=map.get(key);
System.out.println(key+":"+value);
}
}
public static void method(Map<Integer,String> map) {//学号和姓名
//添加元素
System.out.println(map.put(8, "wangcai"));//null
System.out.println(map.put(8, "xiaoqiang"));//value 存相同键值会覆盖
map.put(2, "zhangsan");
map.put(7, "zhaoliu");
System.out.println(map);
//删除
//System.out.println("remove:"+map.remove(2));
//System.out.println(map);
//判断
//System.out.println("containKey:"+map.containsKey(7));
//获取
System.out.println("get:"+map.get(8));
}
}