本文将会讲解到:
Map和Collection的对比
Map接口的使用,实现类HashMap的使用
/*
* 需求:实现学号和姓名这样有对应关系的数据存储
* 为了体现这种有对应关系的数据,我们使用以前所学的内容是可以实现的,但是略有不便,所以java又给我买提供了一种专门用于存储对应关系的集合,Map
*
* Map:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值 (键值对,键不能重复)
*
* Map和Collection有什么区别?
* Map:是一个双列集合,常用语处理有对应关系的数据,key是不可以重复的,我们也称之为是夫妻对集合
* Collection:是单列集合,Collection有不同的子体系,有的允许重复有索引有序,有的不允许重复而且无序,那么我们也称之为单身汉集合
*
* 一对一:一个学号对应一个姓名
*
*/
/*
* Map的常用功能:
* 映射功能:
* V put(K key, V value)
* 获取功能:
* V get(Object key)
* int size()
* 判断功能:
* boolean containsKey(Object key)
boolean containsValue(Object value)
boolean isEmpty()
* 删除功能:
* void clear()
* V remove(Object key)
*
* 遍历功能:
* Set<Map.Entry<K,V>> entrySet()
*
*
* Set<K> keySet() 获取所有key
* Collection<V> values() 获取所有value
*/
public class MapDemo2_增删改查 { public static void main(String[] args) { Map<String,String> map = new HashMap<String,String>(); //key值是唯一的,不可重复。如果key重复则会覆盖之前的kv map.put("test001","zhangsan"); map.put("test002","lisi"); map.put("test003","wangwu"); // map.clear();//清空所有的对应关系 System.out.println(map.size()); System.out.println(map); Set<String> set = map.keySet(); //获取所有的key,key不可重复所以是set形式 System.out.println(set); System.out.println(map.get("test003"));//根据key获取value System.out.println(map.remove("test001"));//根据key删除kv对 System.out.println(map); /* System.out.println(map.containsKey("test001")); //判断k是否存在 System.out.println(map .containsValue("lisi"));//判断V是否存在 System.out.println(map.isEmpty());//判断对应关系是否为空*/ } }
输出