------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.comtarget="blank">
java培训</a>、期待与您交流! ---------
引言:
Map 集合, 该集合存储键 值 对,一对一对往里存,而且要保证键的唯一性。
其中基本功能有:
添加
put (K key , V value)
putAll(Map<? extends K, ? extends V> m)
删除
clear()
remove(Object key)
判断
containsValue(Object value)
containsKey(Object key )
isEmpty()
获取
get(Object key)
size()
values()
Map 集合 中的三个子类
<1> Hashtable 底层是哈希表数据结构,不可以存入null键 null 值,该集合是线程同步的
<2> HashMap 底层是哈希表数据结构,允许使用null键 null值 , 该集合 是不同步的
<3> TreeMap 底层是二叉树数据结构 , 线程不同步,可以用于给map集合中的键进行排序
例子演示方法
public class MapDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
med1();
}
private static void med1() {
// TODO Auto-generated method stub
Map<String,String> map = new HashMap<String,String>();
//添加元素
map.put("1","shili");
map.put("2","shili");
map.put("3","shili");
map.put("4","shili");
System.out.println(map.containsValue("2"));//false
System.out.println(map.remove("4"));//shili
System.out.println(map.get("3"));//shili
map.put(null, "2222");
System.out.println(map.get(null));//2222
System.out.println(map);//{null=2222, 1=shili, 2=shili, 3=shili}
//也可以通过个get方法判断一个键是否存在
//获得map集合中所有的值
Collection<String> coll = map.values();
System.out.println(coll);//[2222, shili, shili, shili]
}
}
注 添加元素,如果出现添加时,相同的键,那么后添加的值会覆盖原有的键对应值
------------------------------------------------------------------------------------------------------
Map集合的取出方式
keySet 将map中所有的键存入到Set集合中,因为Set具备迭代器,所有可以迭代方式取出所有的键,在根据get方法,获取每一个键所对应的 值
entrySet 将map中的映射关系存入了到了set集合中,而这个关系数据类型就是:Map.Entry
public static void main(String[] args) {
// TODO Auto-generated method stub
med1();
}
private static void med1() {
// TODO Auto-generated method stub
Map<String,String> map = new HashMap<String,String>();
//添加元素
map.put("1","shili");
map.put("2","shili4");
map.put("3","shili2");
map.put("4","shili3");
//先获取map集合中的所有的键的Set集合
Set<String> keyset =map.keySet();
Iterator<String> it = keyset.iterator();
while(it.hasNext())
{
System.out.println(map.get(it.next()));
}
}
}
--------------------------------------------------------------------------------------------------------------------------
public class MapDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
med2();
}
private static void med2() {
// TODO Auto-generated method stub
Map<String,String> map = new HashMap<String,String>();
//添加元素
map.put("1","shili");
map.put("2","shili4");
map.put("3","shili2");
map.put("4","shili3");
//将Map集合跌映射关系取出,存入到set集合中
Set<Map.Entry<String, String>> mapset = map.entrySet();
Iterator<Map.Entry<String, String>> it = mapset.iterator();
while(it.hasNext())
{
Map.Entry<String, String> m =it.next();
System.out.println(m.getKey()+" "+m.getValue());
}
}
--------------------------------------------------------------------------------------------------------------------------