1,添加V put(K key, V value)将指定的值与此映射中的指定键关联(可选操作)。void putAll(Map<? extends K,? extends V> m)从指定映射中将所有映射关系复制到此映射中(可选操作)。2,删除void clear();//清除所有映射关系。remove(Object key);3,判断boolean containsValue(Object value);// 如果此映射包含指定键的映射关系,则返回 true。boolean containsKey(Object key);//如果此映射将一个或多个键映射到指定值,则返回 true。4,获取get(Object key);size();values();entrySet();keySet();2,分类:
Map
|---Hashtable:底层是哈希表数据结构,不可以存入null键和null值,线程同步,jak1.0,效率底
|---HashMap:底层是哈希表数据结构,可以存入null键和null值,该集合是不同步的,jdk1.2效率高
|---TreeMap:底层是二叉树数据结构,线程不同步,可以用于给集合中的键(key)进行排序;和Set很像,Set底层就是使用了Map集合。3,Map共性方法:
import java.util.*;
class MapDemo1
{
public static void main(String[] args)
{
HashMap<String,String> hs = new HashMap<String,String>();
sop(hs.put("01","java05"));//null
sop(hs.put("01","java06"));//java05//相同的键,添加的值会覆盖原有键对应的值,并且put方法会返回被覆盖的值。
hs.put("02","java02");
hs.put("03","java03");
hs.put("04","null");
// sop(hs.remove("04"));//java04
sop(hs.containsValue("java01"));
sop(hs.containsKey("01"));
// hs.clear();
sop(hs);
sop(hs.size());
sop(hs.get("04"));//可以通过get的返回值来判断一个键知否存在。
Collection<String> coll = hs.values();
sop(coll);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
2,Ma集合的两种取出方式:
class KeyDemo
{
public static void main(String[] args)
{
Map<String,String> map = new HashMap<String,String>();
map.put("01","java01");
map.put("02","java02");
map.put("03","java03");
map.put("04","java04");
Set<String> set = map.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext())
{
String key = it.next();
System.out.println("key="+key+" "+"value="+map.get(key));
}
}
}
mport java.util.*;
class EntryDemo
{
public static void main(String[] args)
{
Map<String,String> map = new HashMap<String,String>();
map.put("01","java01");
map.put("02","java02");
map.put("03","java03");
map.put("04","java04");
Set<Map.Entry<String,String>> entry = map.entrySet();
Iterator<Map.Entry<String,String>> it = entry.iterator();
while(it.hasNext())
{
Map.Entry<String,String> guanxi = it.next();
System.out.println("KEY=="+guanxi.getKey()+" "+"VALUE=="+guanxi.getValue());
}
}
}
3,map扩展:
import java.util.*;class employee{private String id;private String name;employee(){this.id=id;this.name=name;}}class Mapkuozhan{public static void main(String[] args){// 常见一个公司map集合:公司名称——————部门集合HashMap<String,HashMap<String,String>> fenfen = new HashMap<String,HashMap<String,String>>();HashMap<String,String> editor = new HashMap<String,String>();HashMap<String,String> customer = new HashMap<String,String>();fenfen.put("编辑部",editor);fenfen.put("客服部",customer);editor.put("01","java01");editor.put("02","java02");customer.put("a1","vc++01");customer.put("a2","vc++02");Iterator<String> it = fenfen.keySet().iterator();while(it.hasNext()){String bm_name = it.next();HashMap<String,String> bm = fenfen.get(bm_name);System.out.println(bm_name);printInto(bm);}}public static void printInto(HashMap<String,String> bm){Iterator<String> it = bm.keySet().iterator();while(it.hasNext()){String id = it.next();String name = bm.get(id);System.out.println(id+" "+name);}}}
import java.util.*;class employee{private String id;private String name;employee(String id,String name){this.id=id;this.name=name;}public String toString(){return id+":::"+name;}}class Mapkuozhan2{public static void main(String[] args){HashMap<String,List<employee>> fenfen = new HashMap<String,List<employee>>();List<employee> editor = new ArrayList<employee>();List<employee> customer = new ArrayList<employee>();fenfen.put("编辑部",editor);fenfen.put("客服部",customer);editor.add(new employee("01","java01"));editor.add(new employee("02","java02"));customer.add(new employee("a1","vc++01"));customer.add(new employee("a2","vc++02"));Iterator<String> it = fenfen.keySet().iterator();while(it.hasNext()){String bm_name = it.next();List<employee> bm = fenfen.get(bm_name);System.out.println(bm_name);printInto(bm);}}public static void printInto(List<employee> bm){Iterator<employee> it = bm.iterator();while(it.hasNext()){employee e = it.next();System.out.println(e);}}}