作用:把指定的键与指定的值添加到Map集合中 返回值V的含义:存储键值对的时候,key如果不重复,返回值v是null;存储键值对的时候,key重复,会使用新的value替换map中重复的value,返回被替换的value值
作用:把指定的键所对应的键值对元素,在Map集合中删除,返回被删除的值 返回值V:当key存在的时候,v返回被删除的值;当key不存在的时候,v返回null 注意我们需要注意在接收返回值的时候,使用包装类,因为基本数据类型无法接收null值,举例说明
public static void main(String[] args){ Map<String,Integer> map = new HashMap<>(); map.put("赵丽颖", 168); map.put("林志玲", 165); map.put("杨颖", 178); System.out.println(map);// 打印输出{林志玲= 168, 杨颖 = 178, 赵丽颖 = 168} Integer v = map.remove("林志颖");// 得到v是null // 当我们使用int类型接收返回值的时候 int v = map.remove("林志颖");// 会报出空指针异常的错误,因为int类型接收不到null值 }作用:根据指定的键,在Map集合中获取对应的值 返回值的含义:当key存在的时候,返回对应的value值,key不存在的时候,返回null
作用:判断集合中是否包含指定的键 返回值含义:如果集合中包含key则返回true,如果不包含则返回false
我们需要使用keySet()方法,把Map集合中所有的key取出来存储到Set集合中,然后通过get(key)方法把每个对应的键找到对应的值,然后实现遍历效果
举例说明
public static void main(String[] args){ Map<String,Integer> map = new HashMap<>(); map.put("赵丽颖", 168); map.put("林志玲", 165); map.put("杨颖", 178); // 使用Map集合中的keySet()方法,把Map集合中的所有key取出来,存储到一个Set集合当中 Set<String> set = map.keySet(); // 遍历Set集合,获取Map集合当中的每一个key // 使用迭代器遍历 Iterator<String> it = set.iterator(); while (it.hasNext()){ String key = it.next(); // 通过Map集合中的方法get(key)找到value Integer value = map.get(key); System.outprintln(key + "=" + value); } }(1)首先我们需要了解Entry键值对对象是什么? Map.Entry<K,V>:在Map接口中有一个内部接口Entry
作用:当Map集合一创建,那么就会在Map集合中创建一个Entry对象,用来记录键与值(键值对对象,键与值的映射关系) (2)Set<Map.Entry<K, V>> entrySet()方法 Map中有一个entrySet()方法是用来把Map集合内部的多个Entry对象取出来,存储到一个Set集合中
(3)使用Entry对象进行遍历Map集合 实现步骤: ① 使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中 ② 遍历一个Set集合,获取每一个Entry对象 ③ 使用Entry对象中的方法getKey()和getValue()获取键与值
举例说明:
public static void main(String[] args) { Map<String,Integer> map = new HashMap<>(); map.put("赵丽颖", 168); map.put("林志玲", 165); map.put("杨颖", 178); // 1、使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中 Set<Map.Entry<String, Integer>> set = map.entrySet(); // 2、遍历一个Set集合,获取每一个Entry对象 // 使用迭代器遍历set集合 Iterator<Map.Entry<String, Integer>> it = set.iterator(); while (it.hasNext()){ Map.Entry<String, Integer>> entry = it.next(); // 使用Entry对象中的方法getKey()和getValue()获取键与值 String key = entry.getKey(); Integer value = entry.getValue(); System.outprintln(key + "=" + value); } }HashMap集合是Map的实现类
如果想要把自定义类型存储到key当中,那么你的自定义类型必须重写hashCode()方法和equals()方法,以保证key唯一。如果想存入value的话则不用重写hashCode()方法和equals()方法
LinkedHashMap集合是HashMap集合的子类,继承类HashMap集合
HashMap集合: 1、可以存储null值,null键。 2、底层是一个哈希表,是一个线程不安全的集合,速度块 Hashtable集合: 1、不能存储null值,null键 2、底层也是一个哈希表,是一个线程安全的集合,速度慢