/*
Map集合: 该集合存储键、值对。一对一对往里存,而且键是唯一的
1、添加
put(K key,V value)
putAll(Map<? extends K,? extends V> m)
2,删除
clear()
remove(Object key)
3,判断
containsValue(Object value)
containsKey(Object key)
isEmpty()
4,获取
get(Object key)
size()
entrySet()
keySet()
Map
--Hashtable 底层是哈希表数据结构,不可以存放Null键null值,该集合是线程同步的 效率低
--HashMap 底层是哈希表数据结构,允许使用null键null值,该集合是不同步的 效率高
--TreeMap 底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序
Set底层就是使用了Map集合
*/
/*
Map集合的两种取出方式
1,Set<k> keySet:将map中所有的键存入到Set集合中,因为Set具备迭代器,
所以能用迭代方式取出所有的键,再用get方法获取每个键对应的值
Map集合取出原理:将map集合转成set集合。再通过迭代器取出
2,Set<map.Entry<k,v> entrySet:将map集合中的映射关系存入到set集合中,关系类型为map.Entry
*/
import java.util.*;
class MapDemo
{
public static void main(String[] args)
{
Map<String,String> map = new HashMap<String,String>(); //new 一个map的子类对象
System.out.println(map.put("01","xiaosan1"));
// System.out.println(map.put("01","xiaobaitu"));
//put相同键时,新值会覆盖旧的值。 put方法返回的是原来的值
map.put("02","xiaosan2");
map.put("03","xiaosan3");
map.put("04","xiaosan4");
/*
System.out.println("containsKey:"+map.containsKey("02"));
//System.out.println("remove"+map.remove("02")); 移除元素
System.out.println("get"+map.get("02"));
//用get方法判断键值是否存在
System.out.println(map);
map.put(null,"haha"); //hashmap可以获取null键、null值
//获取map集合中所有的值
Collection<String> coll = map.values();
System.out.println(coll); //无序的值
//先获取map集合所有键的Set集合,keySet()
Set<String> ks = map.keySet();
Iterator<String> it = ks.iterator();
while(it.hasNext())
{
String key = it.next();
String value = map.get(key);
//获取对应的值
System.out.println("key......"+key+"value:"+value);
}
*/
//将Map集合中的映射关系取出 ,存入到Set集合中
Set<Map.Entry<String,String>> es = map.entrySet();
Iterator<Map.Entry<String,String>> it1 = es.iterator();
while(it1.hasNext())
{
Map.Entry<String,String> me = it1.next();
String key = me.getKey();
String value = me.getValue();
System.out.println(key+":"+value);
}
}
}
Map集合
最新推荐文章于 2024-08-16 17:35:37 发布