六、Map接口
Map有三个重要的子类:HashMap、TreeMap、HashTable。不允许有重复键值。
Map接口有如下常用的方法:
No.
方法
类型
描述
1
put(key,value)
普通
增加内容
2
get(key)
普通
根据key取得值
3
containsKey(key)
普通
查找指定的key是否存在
4
containsValue(value)
普通
查找指定的value是否存在
5
isEmpty()
普通
判断是否为空
6
Set<key> keySet()
普通
将全部的key变为set集合
7
Set<value> valueSet()
普通
将全部的value变为set结合
8
V remove(key)
普通
删除指定的key
9
putAll(Map<? Extends k,? Extends v> m)
普通
增加一组数据
1、 HashMap:无序排放,HashTable类似于HashMap。示例代码如下:
import java.util.HashMap;
import java.util.Iterator;
public class HashMapDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String,Integer> hm=new HashMap<String,Integer>();
hm.put("guoxu", 25);
hm.put("guoxu2", 29);
hm.put("guoxu3", 45);
Iterator<String> ik=hm.keySet().iterator();
while(ik.hasNext()){
System.out.println(hm.get(ik.next()));
}
}
}
2、 TreeMap:有序排放
Map使用Iteratro输出:
(1)通过Map接口的:Set<Map.Entry<K,V>> entrySet方法取得
(2)通过Set接口为Iterator进行初始化操作
(3)通过Iterator取出每一个Map.Entry
(4)通过Map.Entry进行key和value的分离
示例代码如下:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class HashMapDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String,Integer> hm=new HashMap<String,Integer>();
hm.put("guoxu", 25);
hm.put("guoxu2", 29);
hm.put("guoxu3", 45);
hm.put("lisi", 45);
Set<Map.Entry<String,Integer>> all=hm.entrySet();
Iterator<Map.Entry<String, Integer>> iter=all.iterator();
while(iter.hasNext()){
Map.Entry<String, Integer> me=iter.next();
System.out.println(me.getKey()+"--"+me.getValue());
}
}
}